Data Diferente do Banco de Dados - java.Util.Date

6 respostas
jmag

Bom dia, Estou com um problema que realmente não sei o que fazer.
Seguinte no banco de dados quando faço o select apareçe: 06/09/2011, mas quando mostro na tela apareçe 05/09/2011.
Mas se converto pra retornar String ele mostra 06/09/2011.
A Data do servidor Linux tá certa, a hora também. O JBoss também tá blz. Alguem tem idéia do que pode ser?

Abraço!

6 Respostas

nel

Tem um detalhe importante, o tipo definido no seu database.
Se for um date, é usado java.sql.Date e se for um Timestamp é java.sql.Timestamp.

Verifique o tipo correto para executar uma conversão posterior.

jmag

Putz cara… Acabei de falar com o DBA aqui… ele disse que tá tudo em timestamp… talvez seja isso então!
Vou testar e se resolver posto aqui…
Obrigado!
:smiley:

jokacwb

Isso ta com pinta de fuso horário interferindo no resultado, como (ou onde) vc mostra isso na tela? pode ser

eu ja tive problemas com JSF, por exemplo, eu não havia configurado o fuso horário e ele tirava -3 horas da data que vinha do servidor, ai ja viu a data 06/09/2011 00:00 viraria 05/09/2011 21:00.

De uma verificada/testada nas configuracoes de local e TimeZone

Locale.setDefault(new Locale("pt", "BR"));
		int fuso = -3;
		final TimeZone tz = TimeZone.getTimeZone("GMT" + fuso + ":00");
		TimeZone.setDefault(tz);
jmag

Eu to usando exatamente JSF… pode ser isso… acaber de ver que nem tá definido a timezone… só tá o que tá abaixo:

Locale.setDefault(new Locale("pt","BR"));

Vou testar isso tambem!
Vlw!

jokacwb

Então no jsf eu precisei fazer isso tb.

<h:outputText   value="#{meuBean.data}">
	<f:convertDateTime pattern="dd/MM/yyyy"  locale="pt,BR" timeZone="America/Sao_Paulo" />
</h:outputText>
jmag

O Valeu jokacwb, Obrigado pela Ajuda.
Posso realizar o deploy da app só a tarde… pra eu ter realmente certeza!
Funcionando posto aqui :slight_smile:
Abraço!

Criado 19 de setembro de 2011
Ultima resposta 19 de set. de 2011
Respostas 6
Participantes 3