09.20
Em Software Livre | Tags: horário de verão , DST , FOSS , GNU / Linux , horario de Verão , roteiro

Boas notícias: Horário de verão brasileiro agora tem uma regra fixa. Ela afeta os arquivos de configuração de fusos horários.
Más notícias: A nova regra para a DST tem uma exceção quando ele termina em Carnaval domingos. Oh, não! Mais exceções!
Realmente uma boa notícia: Obter meu script Bash para gerar regras de exceção para os fusos horários do Brasil e esquecer-se sobre atualizações em arquivos de configuração!
Decreto tenta estabelecer uma regra geral:
Em agosto, 28 de 2008, o governo brasileiro decretou uma regra geral * para determinar o horário de verão , quase colocando um fim à tradição muito criticada (especialmente por profissionais de TI) de decretos anuais para estabelecer diferentes datas de início e término para o período onde o tempo é ajustado para se obter economias de energia. De acordo com o decreto, os seguintes Estados estão sujeitos à DST:
- Zoneinfo arquivos: "Brasil / East", "America / Sao_Paulo" (GMT-3):
- Distrito Federal
- Espírito Santo
- Goiás
- Minas Gerais
- Paraná
- Rio de Janeiro
- Rio Grande do Sul
- Santa Catarina
- São Paulo
- Arquivos de zoneinfo: Brasil / West, America / Amazonas (GMT-4):
- Mato Grosso
- Mato Grosso do Sul
- Mato Grosso
Isto significa que os arquivos de configuração de fuso horário tem que ser definido com a configuração diferente para os seguintes Estados:
- Arquivos de zoneinfo: "O Brasil / East", "America / Sao_Paulo" (GMT-3):
- Alagoas
- Amapá
- Bahia
- Ceará
- Maranhão
- Pará
- Paraíba
- Pernambuco
- Piauí
- Rio Grande do Norte
- Sergipe
- Tocantins
- Arquivos de zoneinfo: Brasil / West, America / Amazonas (GMT-4):
- Acre
- Amazonas
- Rondônia
- Roraima
Observe que o Estados-incluído sobre a DST concentrar-se a vasta maioria da população e os recursos de TI, e também que zonas de tempo foram mudadas por um decreto anterior .
* Leia a tradução para Inglês do decreto (ferramenta de tradução Google ®).
Em suma: a regra geral:
- Começa no domingo 03 de outubro, à zero hora (meia-noite de sábado), desloca uma hora à frente, perdendo uma hora.
- Termina no domingo 03 de fevereiro, à zero hora (meia-noite de sábado), muda para trás uma hora, ganhando aquela hora perdida de volta.
Agora, em GNU / Linux, isso pode ser codificado como uma regra na configuração do arquivo de fuso horário para "Brasil / East" (apenas sobre os Estados mencionados no decreto):
Regra Brasil 2008 max - S outubro thirdSun 00:00 s 01:00 Regra Brasil 2009 max - Feb thirdSun 00:00 s 0 -
O Mess Up-
Isso poderia ter sido perfeito, se não fosse por um detalhe: O domingo de Carnaval!
Sim, como muitos de vocês sabem, os brasileiros amam o carnaval, e todos os desfiles lindos. Essas são coisas realmente sério para muitas pessoas lá. E imaginar o que aconteceria se, de repente, durante um desfile, você poderia ter uma hora extra para fazer o samba?
Por mais ridículo que possa parecer, o decreto cita uma exceção, quando o fim do horário de verão coincidir com o domingo de Carnaval, que está no meio de um feriado de 4 dias e meia! Neste caso, horário de verão termina no domingo seguinte.
Trazendo Ordem ao Caos
Quando não ocorrer o Carnaval?
Carnaval tem uma relação com uma tradição religiosa cristã, a Quaresma , que é o período de 40 dias que antecede a Páscoa Dia. O primeiro dia da Quaresma é chamado de "Ash Wednesday". Domingos são excluídos destes 40 dias, porque eles são considerados "Pascal domingos". Durante este período, as pessoas devem fazer o jejum e oração (abster-se de comer carne, celebrando e outras coisas). Assim, para se preparar para esses 40 dias, as pessoas estabelecem para uma grande festa: Carnaval! Desta forma, o dia de Carnaval é diretamente dependente no dia de Páscoa.
Quando é que a Páscoa ocorre?
Páscoa celebra a ressurreição de Jesus Cristo e é baseado em um cálculo antigo e complexo: O Computus . É uma conversão do calendário gregoriano, tendo em consideração as fases da Lua e do Equinócio Vernal . De acordo com o Computus, "... Domingo de Páscoa é o domingo seguinte à data de lua cheia pascal. A data de lua cheia da Páscoa é a data de lua cheia eclesiástica após 20 de março. "
Como colocá-lo junto?
O Carnaval ocorre antes da cinza quarta-feira, por isso é sempre terça-feira. Então tudo que você tem a fazer é voltar 49 dias a partir de dia de Páscoa:
- 40 dias da Quaresma.
- 6 Pascal domingos.
- 3 dias a partir de quarta feira de cinzas ao domingo de carnaval.
Agora, verifique se ele corresponde DST data de fim. Se assim for, coloque DST que terminou em 7 dias depois.
Por exemplo: a Páscoa é celebrada em abril, 8 de 2012.
Domingo de carnaval é comemorado em fevereiro, 19, que é o 3 º domingo e coincide com o último dia do horário de verão. Portanto tem que haver uma exceção à regra de fuso horário para adiá-la para o próximo domingo:
Regra Brasil 2012 apenas - Feb 26 00:00 0 - Existe uma maneira de evitar as alterações anuais na zona de tempo?
Aleluia! Sim! Obter meu script Bash e ele irá gerar todas as regras de exceção até o final dos tempos, de modo que você compilar Brasil / East arquivo de fuso horário apenas uma vez!
PS: O discurso Inglês foi criado para produzir a saída de pelo menos absurda do Google ferramenta de tradução.










Os comentários estão fechados.