Java – Como definir o TimeZone da aplicação (How to set a JVM TimeZone Properly)

Esse ano foi determinado que o estado de São Paulo não haveria mais horário de verão, isso implicou em alguns problemas no setor de TI, muitos dispositivos mudaram automaticamente e a própria JVM deu alguns problemas, ao criarmos um new Date() por exemplo, o horário de verão estava presente. Isso aconteceu comigo em uma determinada versão do JDK e uma das soluções foi atualiza-lo para uma versão mais recente, porém nem sempre isso é possível. Uma solução para esse tipo de problema que não precise atualizar o JDK é definir na inicialização do programa o argumento user.timezone que diz qual TimeZone a aplicação passará a utilizar.

Na configuração do TimeZone aonde é exibido -03:00 pode ser alterado para o de sua preferência, pode-se também passar o TimeZone descritivo, exemplo: Europe/Sofia.

APLICAÇÃO: adicionar o argumento na inicialização

java -Duser.timezone=-03:00 -jar MeuJar.jar

TOMCAT: editar o arquivo: /bin/catalina.sh

[...]
# Adicionar: ( caso o argumento já esteja definido, separar os argumentos por espaço)

JAVA_OPTS="-Duser.timezone=-03:00"

[...]

GLASSFISH: editar o arquivo: /domains/seu_domain/config/domain.xml

<jvm-config [...] >
    [...]
    <jvm-options>-Duser.timezone=-03:00</jvm-options>
    [...]
</jvm-config>

Referência: https://stackoverflow.com/questions/2493749/how-to-set-a-jvm-timezone-properly

Help DEV – Analista desenvolvedor Java / Android https://helpdev.com.br/zarelli

Java – Como definir o TimeZone da aplicação (How to set a JVM TimeZone Properly)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo