| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 18:43:55
|
ignacio83
Java Ninja
![[Avatar]](/images/avatar/3d50a489984362c71713b9fd1cf79ef0.jpg)
Membro desde: 16/03/2007 10:46:06
Mensagens: 253
Localização: São Paulo
Offline
|
Pessoal, estou passando por um problema com relação ao Timezone:
Banco de Dados: Oracle 10g
Servidor de Aplicação: JBoss 4.2.3
JVM: 6.0 update 13
Existe um campo data_nascimento na tabela clientes no banco de dados que é do tipo DATE.
Para algumas datas específicas quando consultamos esse campo no banco de dados a data vem com uma hora a menos, ou seja, ao invés de 01/11/1966, recebo 31/10/66 23:00.
Descobri que isso ocorre para todas as datas onde o horário de verão começou...
Executem o seguinte código:
Reparem que a hora 00:00 do dia 01/11/1966 não existe (realmente nunca existiu, afinal a zero hora, o relógio foi adiantado em uma hora), portanto Java automaticamente assume 01:00 no calendar.
E quando subtraimos um hora, voltamos para o dia 31/10/1966
Os timezones de todos os servidores envolvidos estão com BRST (Brazilian Summer Time)
O que eu ainda não consegui entender é porque recebo uma hora a menos do banco de dados, e não uma hora a mais como acontece no teste acima.
Tentivas frustadas:
- Atualizar o driver de acesso ao banco
- Atualizar a JVM
- Trocar o tipo do campo para java.sql.Date
- Trocar o tipo do campo para java.sql.Timestamp
- Trocar o tipo do campo para java.util.Date
Funciona porém causa outros efeitos colaterais:
- Alterar o timezone para UTC.
A pergunta é: Como posso resolver esse problema?
|
André de Fontana Ignacio |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 21:29:48
|
fabioqb
What is classpath?
![[Avatar]](/images/avatar/ee9af505f187a867352db5787c4689d1.png)
Membro desde: 03/05/2009 14:26:48
Mensagens: 8
Offline
|
Cara, faz o seguinte:
Tive um problema parecido onde tive que forçar o TimeZone em validação (veja em http://blog.faque.com.br/).
|
Fábio Queiroz
http://blog.faque.com.br
http://www.twitter.com/fabioqb |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2010 09:41:32
|
ignacio83
Java Ninja
![[Avatar]](/images/avatar/3d50a489984362c71713b9fd1cf79ef0.jpg)
Membro desde: 16/03/2007 10:46:06
Mensagens: 253
Localização: São Paulo
Offline
|
Opa, vlw pela resposta...
Mas o código que eu postei foi apenas para teste... Mais já tentei isso e também não funcionou...
Na realidade recebo um Date do banco de dados...
|
André de Fontana Ignacio |
|
|
 |
|
|
|
|