Olá pessoal, estou com um problema com datas, tenho um processo que le uma tabela com uma data e grava outra tabela com essa data.
A data original é 16/10/2011 00:00:00 só que quando insiro na tabela destino o destino fica com 15/10/2011 23:00:00, acredito que isso seja devido a algum controle de horário de verão da jvm.
Alguém de vcs conhece alguma forma de desabilitar esse controle na jvm para que ela não faça esse tratamento de forma automática ?
Isso não é possível. Sabe o que eu costumo fazer quando tenho um problema semelhante (ter uma data, sem ter que usar o horário?) Uso as datas como, por exemplo, “05/01/2011 01:00:00” em vez de usar a referência “00:00:00”. Eu sei que sempre vai existir a hora 01:00:00. O problema, é claro, é quando você não controla como as datas são armazenadas - aí esse truque de sempre usar o horário de 01:00:00 não funciona.
para a JVM da Oracle, você pode baixar (na mesma página onde se baixa a JRE) e executar o TZUpdater. esse cara atualiza a data de horário de verão da JVM.
para outras implementações da JVM, lembro que é possível baixar o arquivo de Time Zone usado pela Oracle e compilar os arquivos de Time Zone da JVM (vi isso no JavaFree). desculpe, não lembro o nome do site e do compilador e não tenho acesso ao Google aqui no trabalho para pesquisar e dar mais detalhes.
o único problema desta solução é ter que fazer este procedimento anualmente.