Pular para o conteúdo principal

[NÃO] Horário de verão



Horário de verão - problema

No dia 02 para 03 de Novembro de 2019, o Java estava programado para trabalhar no horário de verão Brasileiro. Então caso você rode o código abaixo, vai perceber que a hora estará adiantada.
public static void main(String[] args) {
    System.out.println(new Date());
}
Mon Nov 04 10:52:50 BRST 2019

Sendo que a data do sistema é:
Mon Nov  4 09:52:50 -03 2019

Se este não é o seu caso, pode ficar tranquilo que seu Java está atualizado com as definições de TimeZone.

Solução

Caso você não saiba, o Java mantem uma base de dados de TimeZone local que não é atualizada automaticamente. Então como o horário de verão já estava planejado e embutido na JRE, a atualização precisa ser feita de forma manual.
Atenção: O procedimento abaixo pode não funcionar para todas as versões do Java ou variações de distribuição.

Abaixo o processo para atualização:

1 - Faça o download da ferramenta tzupdater:

2 - Descompacte o conteúdo do zip.

3 - Exporte uma variável para facilitar a execução do comando posterior:
export TZ_UPDATER_JAR_ROOT=/home/Download/tzupdater-2.3.0

4 - Rode este script dentro do bin do jdk desejado:
cp -v $TZ_UPDATER_JAR_ROOT/tzupdater.jar . && chmod -v 777 tzupdater.jar && java -jar tzupdater.jar -l https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz

O script acima copia o jar para o diretório bin do JDK e executa a atualização.

jEnv:

Caso você utilize o jEnv (ver neste post), você precisará criar uma versão local dentro do diretório bin do JDK. Caso contrário estará executando o Java configurado como global. Obrigado ao amigo Rafael Buzzi pela dica.




Siga no twitter para ficar informado dos novos posts:



Referências:


Comentários

Postagens mais visitadas deste blog

Guia da certificação Java SE 8 Programmer l - Parte 1: Conhecendo a certificação

Seja bem-vindo a série de postagens sobre a certificação Java. Como funciona, o que fazer para comprar, marcar o dia da prova e o principal, o que estudar.

Para ver o índice da série e as datas das publicações, acesse este link

Parte 1 – Conhecendo a certificação
Nesta primeira parte, vamos navegar pelo site da Oracle Education e da Pearson VUE para conhecer como funciona a certificação e se ambientar. Ambos os site estão em Inglês e como já dito no índice da série, a prova não tem opção em português.
Site da Oracle
O site da Oracle não é um dos melhores em usabilidade. Então se procurar por certificação Java no Google, irá encontrar diversos cursos, livros e blogs falando a respeito da certificação menos o site da Oracle.
Pois bem, abaixo o link direto para informações do exame 1Z0-808 - Java SE 8 Programmer I
https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-808

Neste link você encontrará as informações detalhadas do exame, tais co…

Certificação Java 11 - O que mudou

Certificação Java 11 - O que mudou
A Oracle liberou recentemente uma atualização das suas certificações Java para atender a nova versão Java 11 LTS (Long Term Support). Mas o que muda em relação a certificação Java 8? Preciso me atualizar? Por onde começo? Neste post, vamos responder estas e outras questões sobre essa nova série de certificações.Caso você não tenha acompanhado a série sobre certificação, recomendo a leitura dos posts anteriores: https://www.guiadojava.com.br/2018/06/guia-da-certificacao-java-se-8.html

Também temos um bate papo com os maiores especialistas de Java do mercado. Assista o replay aqui:
https://events.genndi.com/replay/169105139238448348/23a5b3a7b0/0/83729443273C
Nomenclatura e requisitosA partir de agora, você não receberá o certificado se fizer apenas a primeira prova, como era no Java 8(1Z0-808 - Java SE 8 Programmer I). Você terá que fazer duas provas para obter o certificado "Oracle Certified Professional: Java SE 11 Developer"
Comparando os nome…

Guia da certificação Java SE 8 Programmer l

Seja bem-vindo a série de postagens sobre a certificação Java. Como funciona, o que fazer para comprar, marcar o dia da prova e o principal, o que estudar.
IntroduçãoNeste guia dividido em 7 partes, você irá saber o que é cobrado na prova denominada “OCA Oracle Certified Associate Java SE 8 Programmer I. Exam 1Z0-808”, assim como os passos para se registrar no exame e fazer a prova. Algumas dicas para ser mais ágil no momento da prova.
Primeiro detalhe importante é que a prova não tem opção em português (existe uma opção em Espanhol). Então é bom se acostumar com a leitura em inglês para poder interpretar as questões. O site para marcar a prova também é todo em Inglês.
A prova tem 70 questões de múltipla escolha que devem ser respondidas em até 150 minutos. O candidato deve obter no mínimo 65% de acerto para receber a certificação.
Vou procurar dar algumas orientações para quem irá fazer a primeira certificação, assim como os que tem certificação em outras versões do Java e querem se atua…