Horário de verão brasileiro até 2038

Deixe seu servidor preparado para os horários de verão até 2038!

[ Hits: 9.619 ]

Por: Andreluiz em 23/02/2016


Problema



Quem da área de TI já não ficou azedo no carnaval por causa do tal "horário de verão"? A regra, definida no decreto, muda o domingo conforme o carnaval, o que leva a criação de scripts e soluções das mais variadas para evitar o problema do domingo subsequente.

Para evitar compilar o zic anualmente, resolvi em 2010 fazer uma pesquisa e criar um zic até 2038. A mudança no decreto deve ser observada até lá, e claro, seu estado de incidência.

A configuração é simples e requer apenas o arquivo zic no respectivo diretório zoneinfo do seu servidor (normalmente: /usr/share/zoneinfo/Brazil/).

Arquivo ZIC

# DECRETO Nº 6.558, DE 8 DE SETEMBRO DE 2008.
# Institui a hora de verão em parte do território nacional.
# O PRESIDENTE DA REPÚBLICA, no uso da atribuição que lhe confere o art. 84, inciso IV, da Constituição,
# e tendo em vista o disposto no art. 1o, inciso I, alínea .b., e § 2º, do Decreto-Lei no 4.295, de 13 de maio de 1942,
# DECRETA:
#
# Art. 1o Fica instituída a hora de verão, a partir de zero hora do terceiro domingo do mês de outubro de cada ano,
# até zero hora do terceiro domingo do mês de fevereiro do ano subseqüente, em parte do território nacional,
# adiantada em sessenta minutos em relação à hora legal.
#
# Parágrafo único. No ano em que houver coincidência entre o domingo
# previsto para o término da hora de verão e o domingo de carnaval,
# o encerramento da hora de verão dar-se-á no domingo seguinte.
#
# //Art. 2o A hora de verão vigorará nos Estados do Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, Minas Gerais, Goiás, Mato Grosso, Mato Grosso do Sul e no Distrito Federal.
# 2011/Art. 2o A hora de verão vigorará nos Estados do Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, Minas Gerais, Bahia, Goiás, Mato Grosso, Mato Grosso do Sul e no Distrito Federal.
# //(Redação dada pelo Decreto nº 7584, de 2011)
# 2012/Art. 2o A hora de verão vigorará nos Estados do Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, Minas Gerais, Goiás, Mato Grosso, Mato Grosso do Sul, Tocantins e no Distrito Federal.
# //(Redação dada pelo Decreto nº 7.826, de 2012)
#
# Art. 2o A hora de verão vigorará nos Estados do Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, Minas Gerais, Goiás, Mato Grosso, Mato Grosso do Sul e no Distrito Federal. (Redação dada pelo Decreto nº 8.112, de 2013)
# Art. 3o Este Decreto entra em vigor na data de sua publicação.
#
# Brasília, 8 de setembro de 2008; 187º da Independência e 120º da República.
#
# LUIZ INÁCIO LULA DA SILVA
# Edison Lobão
#
# Este texto não substitui o publicado no DOU de 9.9.2008


Rule Brazil 2010 only - Oct 17 00:00 1 S
Rule Brazil 2011 only - Feb 20 00:00 0 -
Rule Brazil 2011 only - Oct 16 00:00 1 S
Rule Brazil 2012 only - Feb 26 00:00 0 -
Rule Brazil 2012 only - Oct 21 00:00 1 S
Rule Brazil 2013 only - Feb 17 00:00 0 -
Rule Brazil 2013 only - Oct 20 00:00 1 S
Rule Brazil 2014 only - Feb 16 00:00 0 -
Rule Brazil 2014 only - Oct 19 00:00 1 S
Rule Brazil 2015 only - Feb 22 00:00 0 -
Rule Brazil 2015 only - Oct 18 00:00 1 S
Rule Brazil 2016 only - Feb 21 00:00 0 -
Rule Brazil 2016 only - Oct 16 00:00 1 S
Rule Brazil 2017 only - Feb 19 00:00 0 -
Rule Brazil 2017 only - Oct 15 00:00 1 S
Rule Brazil 2018 only - Feb 18 00:00 0 -
Rule Brazil 2018 only - Oct 21 00:00 1 S
Rule Brazil 2019 only - Feb 17 00:00 0 -
Rule Brazil 2019 only - Oct 20 00:00 1 S
Rule Brazil 2020 only - Feb 16 00:00 0 -
Rule Brazil 2020 only - Oct 18 00:00 0 -
Rule Brazil 2021 only - Feb 21 00:00 0 -
Rule Brazil 2021 only - Oct 17 00:00 1 S
Rule Brazil 2022 only - Feb 20 00:00 0 -
Rule Brazil 2022 only - Oct 16 00:00 1 S
Rule Brazil 2023 only - Feb 26 00:00 0 -
Rule Brazil 2023 only - Oct 15 00:00 1 S
Rule Brazil 2024 only - Feb 18 00:00 0 -
Rule Brazil 2024 only - Oct 20 00:00 1 S
Rule Brazil 2025 only - Feb 16 00:00 0 -
Rule Brazil 2025 only - Oct 19 00:00 1 S
Rule Brazil 2026 only - Feb 22 00:00 0 -
Rule Brazil 2026 only - Oct 18 00:00 1 S
Rule Brazil 2027 only - Feb 21 00:00 0 -
Rule Brazil 2027 only - Oct 17 00:00 1 S
Rule Brazil 2028 only - Feb 20 00:00 0 -
Rule Brazil 2028 only - Oct 15 00:00 1 S
Rule Brazil 2029 only - Feb 18 00:00 0 -
Rule Brazil 2029 only - Oct 21 00:00 1 S
Rule Brazil 2030 only - Feb 17 00:00 0 -
Rule Brazil 2030 only - Oct 20 00:00 0 -
Rule Brazil 2031 only - Feb 16 00:00 0 -
Rule Brazil 2031 only - Oct 19 00:00 1 S
Rule Brazil 2032 only - Feb 15 00:00 0 -
Rule Brazil 2032 only - Oct 17 00:00 1 S
Rule Brazil 2033 only - Feb 20 00:00 0 -
Rule Brazil 2033 only - Oct 16 00:00 1 S
Rule Brazil 2034 only - Feb 26 00:00 0 -
Rule Brazil 2034 only - Oct 15 00:00 1 S
Rule Brazil 2035 only - Feb 18 00:00 0 -
Rule Brazil 2035 only - Oct 21 00:00 1 S
Rule Brazil 2036 only - Feb 17 00:00 0 -
Rule Brazil 2036 only - Oct 19 00:00 1 S
Rule Brazil 2037 only - Feb 22 00:00 0 -
Rule Brazil 2037 only - Oct 18 00:00 1 S
Rule Brazil 2038 only - Feb 21 00:00 0 -
Rule Brazil 2038 only - Oct 17 00:00 1 S
Zone Brazil/East -3:00 Brazil BR%sT

Configuração

Salve o texto (ZIC) como arquivo zic no seu zoneinfo/Brazil com o nome "2038.zic "

Execute:

# zic 2038.zic

Aparecerá um novo arquivo East (novos horários de verão).

Neste momento observe sua distribuição (Ubuntu/Slack/Red/etc) e veja como atualizar o localtime do seu computador.

Comandos mais comuns:
  • timeconfig
  • dpkg-reconfigure
  • cp /usr/share/zoneinfo/Brazil/East /etc/localtime
  • ln -s /usr/share/zoneinfo/Brazil/East /etc/localtime

   

Páginas do artigo
   1. Problema
Outros artigos deste autor

Horário de verão brasileiro até 2038 (Atualização 2017)

Leitura recomendada

Instalando o Debian 8.3 - Instalação em Modo Texto para uso em Servidores

Debian Linux 4 iniciando o Windows como terminal server

Turbinando o Openbox nativo do Debian 10 LXDE

Configurando o X no Slackware

Instalando e configurando modem SpeedTouch 330 USB no Slackware 10

  
Comentários
[1] Comentário enviado por Lwkas em 23/02/2016 - 20:43h

Super útil! Obrigado por compartilhar

[2] Comentário enviado por removido em 24/02/2016 - 22:23h

2038 seria por causa do tal fim de calendário dos sistemas Unix?

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[3] Comentário enviado por correia.tec em 27/02/2016 - 07:35h

Interessante,
Mas para isto eu uso o ntpd, que sincroniza o horário da máquina/server com os servidores de Hora Legal do Brasil.
http://ntp.br/guia-linux-avancado.php

Paulo

[4] Comentário enviado por cunha1973 em 16/10/2017 - 07:28h


[3] Comentário enviado por correia.tec em 27/02/2016 - 07:35h

Interessante,
Mas para isto eu uso o ntpd, que sincroniza o horário da máquina/server com os servidores de Hora Legal do Brasil.
http://ntp.br/guia-linux-avancado.php

Paulo


Os servidores ntp resolvem o problema, entretanto é importante lembrar que muitas aplicações de coleta de dados tem criticidade no tempo... Se estiver sem internet ou se seu servidor for stand alone ficar da dependência de outro servidor (e da conexão) não é estrategicamente agradável. Além disso, algumas empresas possuem seu próprio servidor NTPd que fornece as horas oficiais dentro do grupo. Os próprios servidores da hora oficial brasileira (Observatório nacional) utilizam a rotina ZIC dos horários pré-programados.
Diante do exposto, é recomendável uma atualização diária com o horário nacional (a.ntp.br) e manter os horários (ZIC) configurados de maneira correta.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts