Entendendo o Time Zone Updater 2.0
Diferentes lugares do mundo estão em diferentes fusos horários, por isso o Java precisa manter um registro das informações de fuso horário.
Essas informações se tornam complicadas quando se consideram as regras para o Horário de Verão em diferentes regiões. Existem lugares onde as mudanças de Horário de Verão ocorrem várias vezes por ano. No Marrocos, por exemplo, as mudanças ocorrem em março, outubro e também ao redor do Ramadã. As regras podem variar de país para país e, em alguns casos, dentro de um mesmo país. Essas regras são atualizadas de tempos em tempos. Nos Estados Unidos, elas foram atualizadas pela última vez em 2007.
Para permitir que os aplicativos convertam datas e horários de um local com precisão para o horário equivalente em outro local, o Java precisa rastrear todas essas mudanças conhecidas.
Embora não haja uma agência reguladora internacional que governe as mudanças de fuso horário, existe uma compilação colaborativa de dados de fusos horários conhecida como TZ Database ou IANA Time Zone Database. Este banco de dados contém não apenas regras passadas, mas – quando disponíveis – regras para mudanças futuras.
A IANA atualiza seu banco de dados várias vezes por ano, conforme as informações de fuso horário mudam.
Desde 2002, o JRE depende desse banco de dados para a precisão de suas rotinas de conversão de tempo.
A grande maioria dos usuários de Java recebe atualizações das informações de fuso horário de seu JRE como parte das atualizações regulares do Java. No entanto, há dois casos em que isso não é possível:
- Embora a maioria dos governos anuncie mudanças em suas regras de fuso horário com aviso suficiente para evitar interrupções, às vezes as alterações nas regras de fuso horário não são anunciadas a tempo para que uma nova versão do banco de dados da IANA seja incluída em uma atualização do JRE antes que a mudança entre em vigor.
- Em alguns casos, é preferível atualizar apenas as informações de fuso horário, sem alterar o JRE.
Para ambos os casos, a Oracle fornece uma ferramenta chamada TZUpdater.
Como funciona o TZUpdater 2.0
A partir do TZUpdater 2.0, a ferramenta contata os servidores da IANA diretamente e baixa as informações de fuso horário mais atualizadas. Com essa nova funcionalidade, os administradores podem usar a mesma ferramenta para todas as atualizações de informações de fuso horário do JRE.
Para garantir que o Time Zone Database baixado não tenha sido danificado durante o trânsito, a ferramenta o compara com uma soma de verificação conhecida.
O arquivo README contém instruções sobre como usar a ferramenta baixando o banco de dados de fuso horário da IANA para um diretório local, para os casos em que o computador que precisa ser atualizado não consegue acessar os servidores da IANA diretamente.
🔧 Nota importante
Esta ferramenta atualiza apenas as informações de fuso horário no JRE. A maioria dos sistemas operacionais modernos atualizará suas próprias informações de fuso horário como parte de suas atualizações regulares.
❓ Perguntas Frequentes
Em quais versões de JRE/JDK esta ferramenta funciona?
O TZUpdater 2.0 funciona com as versões do JRE/JDK da Oracle 5.0 (1.5) e superiores. Para versões do Java fornecidas por outros fornecedores, entre em contato com o fornecedor.
Meu país/cidade/região está prestes a passar por uma mudança nas regras do horário de verão. Quando uma nova versão da ferramenta com as novas regras estará disponível?
Visite http://www.iana.org/time-zones e siga as instruções em Submission/Discussions para solicitar atualizações do Time Zone Database. Uma vez que uma atualização do Banco de Dados da IANA esteja disponível, você pode usar o TZUpdater 2.0 para aplicar as mudanças.
Qual versão do banco de dados de fuso horário está no JRE versão <xyz>?
Você pode encontrar qual versão do banco de dados da IANA foi originalmente incluída em um JRE específico nesta página: http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html
A Oracle continuará lançando novas versões do TZUpdater?
A ferramenta TZUpdater 2.0 pode baixar atualizações diretamente da IANA. As atualizações ainda podem ser fornecidas como parte da manutenção regular de software.
📚 Para saber mais
Timezones, Daylight Savings, and the TZupdater for the Java Runtime Environment (JRE)
http://www.oracle.com/technetwork/java/javase/timezones-137583.html