Dúvida - java.sql.Date

10 respostas
M

e ae…

estes dias estava eu aqui na empresa, trabalhando e lá pelas tantas percebi que sempre que eu converto uma data do tipo sql.Date para String, a minha data perde um dia, alguém por acaso já viu isso, ou alguém sabe prq isso acontece?

estava olhando na documentacao da api do java e nao achei nada que falasse sobre isto, a minha versao do java eh a 1.4.2…

vlw ae… :stuck_out_tongue:

10 Respostas

_fs

@.@

Como você está transformando em String?

danieldestro

E como vc está convertendo?

M

estou usando toString()

danieldestro

Nunca faça isso. Faça com SimpleDateFormat:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String d = sdf.format( seuDate );

M

mas porque?
qual o problema de converter a data usando o toString()?

danieldestro

Porque não é o modo correto. O toString() retorna uma representação em String do conteúdo interno, que é um long com os milisegundos desde 01/01/1970.

Portanto o método correto é usando SimpleDateFormat.

M

ok… vou dar mais uma estudada, mas você nao me convenceu, hehehe, nao q eu esteje duvidando, mas eu acho q nao é somente isso… sou um tanto cabeca dura…

vlw ae… qq novidade eu duvida eu posto ae…

rodrigo.achilles

Só um comentário inútil, nesse caso tudo bem, o toString() não seria adequado, mas eu outros casos funcionam corretamente.

É que o Daniel falou que NUNCA, parecia que abominava de qq jeito o próprio toString. Parecia que não havia sentido a existência dele.
heheh
Desculpe pessoal, fui um pouco dramático.

Abraços

T

Perder um dia - que esquisito - não tem alguma coisa de horário de verão em algum lugar aí?

danieldestro

Leia na doc: http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Date.html#toString()

Ele não fala para não usar o toString(), mas menciona o uso do SimpleDateFormat.

Além do que usar o SDF é bem mais prático do que ficar fazendo a formatção ou parsing a toda hora.

Criado 20 de maio de 2005
Ultima resposta 20 de mai. de 2005
Respostas 10
Participantes 5