Pessoal,

Consegui resolver um problema que nós tínhamos com o Java quando
entrávamos em horário de verão ou quando pegávamos uma data que
correspondia a meia noite do início do horário de verão:

por exemplo: quando fosse digitado em um campo a data de 14/10/2001,
ao converter para GregorianCalendar, a data ficava 13/10/2001
23:00:00. O que era o fim do mundo!

A solução de contorno adotada até agora era colocar as máquinas com
timezone = casablanda.  O que, diga-se de passagem, era uma solução
bastante porca... mas era a única que nós tínhamos.

Finalmente achei a solução.  Basta colocar o comando abaixo no início
do método main:

TimeZone.setDefault(
  new SimpleTimeZone(
    TimeZone.getDefault().getRawOffset(),
    "GMT+00:00"
  )
);

Este comando define o novo TimeZone do programa, utilizando o
deslocamento em relação ao GMT definido no sistema operacional
(comando getRawOffset).  Só que este novo timezone não define
intervalo de horário de verão!  Pois foi criado apenas GMT+00:00.

Desta maneira, as datas continuam funcionando conforme esperado e o
problema do horário de verão desaparece!

Grato!

Mário Sérgio G. Antunes
(11)253-4116
[EMAIL PROTECTED]

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a