Converter Data em consulta SQL... digito 25/05/2011 e na hora da consulta ela converte

9 respostas
J

Esse é o método

public static Date formataData(String data) throws Exception {

if (data == null || data.equals(""))

return null;
Date date = null;  
    
    try {  
                                                //SimpleDateFormat out = new SimpleDateFormat("yyyy/MM/dd");  
        SimpleDateFormat in = new SimpleDateFormat("yyyy//MM/dd");   
                                              //date = (java.util.Date)out.parse(data.toString()); 
        date = (java.util.Date)in.parse(data.toString()); 
    
    } catch (ParseException e) {              
        throw e;  
    }  
    return date;  
}

9 Respostas

A

cara,

explica melhor o que vc quer, pq nao deu para entender. fale tbm se ta usando web ou desktop, se ta usando algum framework

t+

fernandopaiva

veja isto: http://www.guj.com.br/java/251012-como-manipular-data

t+ e boa sorte

J

alissonvla:
cara,

explica melhor o que vc quer, pq nao deu para entender. fale tbm se ta usando web ou desktop, se ta usando algum framework

t+

O cara, obrigado por responder.
Estou usando NetBeans 7.0, estou programando para Desktop blz.

é o seguinte, quero fazer uma conversão da Data na minha consulta sql Ex: select * Clientes where data = ‘"+tfData.getText())’" o q tem dentro do tfData é pra ser convertido no formato 2011/25/05 … na hora da pesquisa eu digito 25/05/2011. Entendeu brother, me ajuda por favor, qualquer dica fico agradecido.

wolmirGarbin

Tudo Bem…

Assim existe a classe SimpleDateFormat que ira formatar para um objeto Date para String no formato escolhido e uma String em formato Date.
Eu gostaria de saber se o seu tfData é um jTextField, se for e a data que tem dentro dele é no formato dd/MM/yyyy ( 10/10/2010 por exemplo ) considerando isso ele esta retornando uma String com este formato de data… sendo assim use o método abaixo…

public static String formataData(String data) {
		Date date = null;
		SimpleDateFormat formatIso = new SimpleDateFormat("dd/MM/yyyy");  //formato da data que esta passando por parametro
		SimpleDateFormat formatOut = new SimpleDateFormat("yyyy/MM/dd");  //formato que deseja retornar a data   
		String dataFinal = null;
		try {  
			date = formatIso.parse(data);  
			dataFinal = formatOut.format(date);  
		} catch (ParseException e) {  
			e.printStackTrace();  
		}  
		return dataFinal;
	}

Espero ter ajudado qualquer coisa posta ai…

Abraço!

J

wolmirGarbin:
Tudo Bem…

Assim existe a classe SimpleDateFormat que ira formatar para um objeto Date para String no formato escolhido e uma String em formato Date.
Eu gostaria de saber se o seu tfData é um jTextField, se for e a data que tem dentro dele é no formato dd/MM/yyyy ( 10/10/2010 por exemplo ) considerando isso ele esta retornando uma String com este formato de data… sendo assim use o método abaixo…

public static String formataData(String data) {
		Date date = null;
		SimpleDateFormat formatIso = new SimpleDateFormat("dd/MM/yyyy");  //formato da data que esta passando por parametro
		SimpleDateFormat formatOut = new SimpleDateFormat("yyyy/MM/dd");  //formato que deseja retornar a data   
		String dataFinal = null;
		try {  
			date = formatIso.parse(data);  
			dataFinal = formatOut.format(date);  
		} catch (ParseException e) {  
			e.printStackTrace();  
		}  
		return dataFinal;
	}

Espero ter ajudado qualquer coisa posta ai…

CARA AJUDOU MESMO… DEU CERTINHOOO, OBRIGADOOO

Abraço!

http://wolmirgarbin.wordpress.com

pmlm

Essa não é a maneira correcta de fazer.

O método formata deveria passar a String no teu formato para um Date.

Depois, para aceder à BD usas PreparedStatement e passas o objecto Date.

J

pmlm:
Essa não é a maneira correcta de fazer.

O método formata deveria passar a String no teu formato para um Date.

Depois, para aceder à BD usas PreparedStatement e passas o objecto Date.

Com a Ajuda do amigo consegui resolver o problema, mais se vc tem uma solução mais completa e correta eu estou aberto
a novo aprendizado.

pmlm

http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

Date data =  //Adaptas o formataData para devolver o date criado intermediamente

PreparedStatement pstmt = con.prepareStatement("select * Clientes where data = ?");
pstm.setDate(1, data);
J
pmlm:
[url]http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html[/url]
Date data =  //Adaptas o formataData para devolver o date criado intermediamente

PreparedStatement pstmt = con.prepareStatement("select * Clientes where data = ?");
pstm.setDate(1, data);

Valeu.... estarei modificando o codigo.

Criado 26 de outubro de 2011
Ultima resposta 26 de out. de 2011
Respostas 9
Participantes 5