[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Horário de verão
From: |
Fabiano Caixeta Duarte |
Subject: |
Horário de verão |
Date: |
Tue, 16 Sep 2008 17:04:20 -0300 |
Senhores,
Levando em consideração que o nosso horário de verão passou de
variável a parametrizável
(http://www.mme.gov.br/site/news/detail.do?newsId=16838¤tArea=),
imagino que surgirão alternativas para atualização automática.
Conforme decreto, o horário de verão se inicia no terceiro domingo de
outubro e termina no terceiro domingo de fevereiro do ano subsequente
Pra quem não usa alternativas como tzdata ou similares, segue um
script que deve funcionar se executado entre março e setembro.
Eu na verdade não gostei muito da função terceiroDomingo e aceito
sugestões de melhoria.
Abraço a todos.
#!/bin/bash
# Sugestão: executar via crontab a cada dia 1º de outubro
----------------------------------------------------------------------
TMP=$(mktemp -p /tmp verao.XXXXXX)
ANO_INI=$(date +%Y)
ANO_FIM=$((ANO_INI+1))
function terceiroDomingo() {
# $1: mês
# $2: ano
cal $1 $2 | sed 1,2d | awk 'NF == 7 {print}' | sed '3!d' | cut -d" " -f1
}
DIA_INI=$(terceiroDomingo 10 $ANO_INI)
DIA_FIM=$(terceiroDomingo 02 $ANO_FIM)
cat << EOF >> $TMP
Rule Brazil $ANO_INI only - Oct $DIA_INI 00:00 1 S
Rule Brazil $ANO_FIM only - Feb $DIA_FIM 00:00 0 -
Zone Brazil/East -3:00 Brazil BR%sT
EOF
zic $TMP
rm $TMP
----------------------------------------------------------------------
--
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP
- Horário de verão,
Fabiano Caixeta Duarte <=