Como eu faço para formatar uma variável data em java, enviá-la para o mysql e depois fazer uma pesquisa por data no banco. Eu consigo gravar no banco mas dá erro na hora da pesquisa, como se o formato da data não fosse reconhecido para se fazer a pesquisa. Parece que eu tenho que formatá-la antes de enviar para o mysql. Com eu faço isto?
Olá amigo!
Eu tive alguns problemas deste tipo e a solução que eu arrumei foi definir no BD a data como string.
Então eu crio um método que pega a hora atual, formata a mesma da maneira que eu achar melhor e ele me retorna a data como String. Mando gravar no bd, faço pesquisa por data e recupero a mesma sem problemas.
Não sei se é uma boa prática mas estou trabalhando com todos os meus dados no bd como string para evitar estes tipos de problema.
Pessoal, já que o assunto é data, vou postar aqui uma classe que mostra os exemplos de formatação das mesmas utilizando GrgorianCalendar. Pode ser útil para alguém.
Obs: Este exemplo eu consegui na Internet e desconheço o autor. Provavelmente é de algum GUJista daqui. rsrs
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class TestaData {
Date hoje = new Date();
public void formaData(){
GregorianCalendar quinze = new GregorianCalendar(2006, Calendar.JANUARY, 1);
quinze.add(Calendar.YEAR, 15);
Date data = quinze.getTime();
DateFormat formata = DateFormat.getDateInstance();
String resultado = formata.format(data);
System.out.println("--");
System.out.println("--");
System.out.println("Contar 15 anos depois a data será --> " + resultado);
System.out.println("--");
System.out.println("--");
}
public void viagemDe80Dias(){
GregorianCalendar oitenta = new GregorianCalendar(2006, Calendar.JULY, 7);
oitenta.add(GregorianCalendar.DATE, 80);
Date data = oitenta.getTime();
DateFormat formata = DateFormat.getDateInstance();
String resultado = formata.format(data);
System.out.println("--");
System.out.println("--");
System.out.println("A viagem de 80 dias acabará na data --> " + resultado); System.out.println("--");
System.out.println("--");
}
public void dataAtualGregorianCalendar(){
GregorianCalendar dataAtual = new GregorianCalendar();
Date data = dataAtual.getTime();
DateFormat formata = DateFormat.getDateInstance();
String resultado = formata.format(data);
System.out.println("--");
System.out.println("--");
System.out.println("Data de Hoje é --> " + resultado);
System.out.println("--");
System.out.println("--");
}
public void dataEscolhida(){
GregorianCalendar dia = new GregorianCalendar(2006, Calendar.JULY, 7);
Date data = dia.getTime();
DateFormat formata = DateFormat.getDateInstance();
String resultado = formata.format(data);
System.out.println("--");
System.out.println("--");
System.out.println("O dia informado para a classe GregorianCalendar é --> " + resultado);
System.out.println("--");
System.out.println("--");
}
public void propriedadesGregorianCalendar(){
DateFormat formataInstancia = DateFormat.getDateInstance();
DateFormat formatoSHORT = DateFormat.getDateInstance(DateFormat.SHORT);
DateFormat formatoMEDIUM = DateFormat.getDateInstance(DateFormat.MEDIUM);
DateFormat formatoLONG = DateFormat.getDateInstance(DateFormat.LONG);
DateFormat formatoFULL = DateFormat.getDateInstance(DateFormat.FULL);
String dataDeHojeFomat = formataInstancia.format(hoje);
String comoSHORT = formatoSHORT.format(hoje);
String comoMEDIUM = formatoMEDIUM.format(hoje);
String comoLONG = formatoLONG.format(hoje);
String comoFULL = formatoFULL.format(hoje);
System.out.println("--");
System.out.println("--");
System.out.println("(Default) Hoje é --> " + dataDeHojeFomat);
System.out.println("--");
System.out.println("--");
System.out.println("(SHORT) Hoje é -->" + comoSHORT);
System.out.println("--");
System.out.println("--");
System.out.println("(MEDIUM) Hoje é --> " + comoMEDIUM);
System.out.println("--");
System.out.println("--");
System.out.println("(LONG) Hoje é --> " + comoLONG);
System.out.println("--");
System.out.println("--");
System.out.println("(FULL) Hoje é --> " + comoFULL);
System.out.println("--");
System.out.println("--");
}
public static void main(String[] args) {
TestaData teste = new TestaData();
teste.formaData();
teste.viagemDe80Dias();
teste.dataAtualGregorianCalendar();
teste.dataEscolhida();
teste.propriedadesGregorianCalendar();
}
}