String to Date

5 respostas
E

Eu tenho uma data recuperada de um TexField
dt = “26/06/2006”
tenho que gravar isso no SQL e no SQL é DateTime, quer dizer que é 2006/06/26.
Não sei como inverter isso(dt) para gravar no SQL.
Alguem me ajuda por favor

Estava tentando fazer assim:

String formato = yyyy/MM/dd;

Date dtNasc = null;

DateFormat df = new SimpleDateFormat(formato);
try { dtNasc = df.parse(dtNascimento);} 
    catch (ParseException ex) { ex.printStackTrace(); }
    dtNascimento   = df.format(dtNasc);

Mas me aparece estranho, algo como 0009/03/28

5 Respostas

T

a) Você pode usar 2 DateFormat’s diferentes (um para ler, em formato “dd/MM/yyyy” e outro para imprimir, em formato “yyyy/MM/dd”)

b) Ou você pode usar “substring” e “+”

E

mas como eu faço isso ??

T
String formatoEntrada = "dd/MM/yyyy";
String formatoSaida = "yyyy/MM/dd";
Date dtNasc = null;
DateFormat dfEntrada = new SimpleDateFormat (formatoEntrada);
DateFormat dfSaida = new SimpleDateFormat (formatoSaida);
dfEntrada.setLenient (false);
try {
    dtNasc = dfEntrada.parse (dtNascimento);
    dtNascimento = dfSaida.format (dtNasc);
} catch (ParseException ex) {
    ex.printStackTrace ();
}
E

Valeu cara, valeu mesmo, deu certo.
Estava fazendo parecido, mas não estava fazendo o parse de entrada que vc fez.

Mas pq isso ? Pq qdo se cria um obj Date tem, que colocar no formato normal(dd/MM/yyyy) primeiro para depois inverter o formato ?

e para que server exatamente o setLenient ??

Obrigado

T

http://java.sun.com/j2se/1.5.0/docs/api/java/text/DateFormat.html#setLenient(boolean)

Criado 26 de junho de 2006
Ultima resposta 26 de jun. de 2006
Respostas 5
Participantes 2