Conversão de Data

Boa tarde…

estou com problema em conversão de data, tentei várias formas:

Desde já, agradeço!


us[1] é uma String?

Se for, use SimpleDateFormat.parse - não se esqueça, cast não faz conversão (exceto no caso de tipos primitivos para tipos primitivos). Em particular, (Date) str, onde str é uma string, não é possível.

é um vetor de string

mas não funcionou!

Olá, tudo bom?

Posta a imagem do erro que vc fez com o SimpleDateFormat.parse, pois tem que funcionar.
Deu erro em tempo de execução??

Abraço

Isso, em tempo de execução!


Tenta com /
2003/01/01

mas o traço - foi como o oracle definiu, e estou lendo de um arquivo de texto =/

Cria um outro SimpleDateFormat mas com a máscara (“yyyy-MM-dd”).
daí, na hora de dar o pst.setDate(), vc faz um format com essa máscara:

SimpleDateFormat sdfSQL = new SimpleDateFormat("yyyy-MM-dd"); //procede com os códigos até o pst.SetDate() pst.setDate(3,sdfSQL.format(data));
Qua daí ele já insere no padrão do banco ‘2003-01-01’.
É assim tbm com oracle né?
Pois eu não conheço :oops:

Abraço

[quote=Thiago Luis]Cria um outro SimpleDateFormat mas com a máscara (“yyyy-MM-dd”).
daí, na hora de dar o pst.setDate(), vc faz um format com essa máscara:

SimpleDateFormat sdfSQL = new SimpleDateFormat("yyyy-MM-dd"); //procede com os códigos até o pst.SetDate() pst.setDate(3,sdfSQL.format(data));
Qua daí ele já insere no padrão do banco ‘2003-01-01’.
É assim tbm com oracle né?
Pois eu não conheço :oops:

Abraço[/quote]
NOOOOOSSSSSAAAAA :shock:
Esquece o que eu disse, não leva nem na brincadeira, só falei bobagem :lol:

Como que está a data no seu banco. Assim (1998-02-05)?
E como que está a String que vc quer inserir. Assim (2003-01-01)?
Pq eu testei de algumas formas parsear desse jeito e não foi.
Só parseou com a String deste jeito (01/01/2003), se não dá aquele erro que deu com vc.
De outro jeito não sei como…

Boom deixa eu explicar…

estou fazendo o seguinte, limpando toda base de dados e salvando num arquivo, agora a base vazia, preciso importar o arquivo para a base, então estou lendo linha por linha e importando.

Essa data, estava do mesmo formato no banco. =)
O que é mais estranho ainda, porque se estava dessa forma, deveria importar =/

[quote=jessicabnu]Boom deixa eu explicar…

estou fazendo o seguinte, limpando toda base de dados e salvando num arquivo, agora a base vazia, preciso importar o arquivo para a base, então estou lendo linha por linha e importando.

Essa data, estava do mesmo formato no banco. =)
O que é mais estranho ainda, porque se estava dessa forma, deveria importar =/[/quote]
No seu .TXT as datas estão todas no padão yyyy-MM-dd certo?
E se vc fizesse o seguinte:
muda a mascara do SimpleDateFormat para (“dd/MM/yyyy”);
pega o vetor us[1] e faz:

String aux = format.format(us[1]);

Agora, vc faz um parse no java.sql.Date:

java.sql.Date data = new java.sql.Date(format.parse(aux).getTime());

Eu não tenho certeza, mas acho que o parse só “parseia” quando digitamos no formato dd/MM/yyyy.
Tanto que eu fiz um teste digitando a data no formato yyyy/MM/dd (com / ao invés de traço) e deu uma data totalmente diferente.
É uma gambizinhha, mas pode ajudar.

Abraço

Já resolvi usando outro método.

Obrigada!