Dia da semana

Publicado por DAVISON MARCEL PASQUALINI (última atualização em 20/12/2009)

[ Hits: 16.180 ]

Download dia.sh




Este script foi uma brincadeira a partir de um cálculo matemático que um amigo me passou sobre como encontrar em que dia da semana determinada data cai, daí resolvi "scriptar".

  



Esconder código-fonte

# Rotina de calculo do dia da semana


valida_mes ()
{
if [ "$mes" -gt 12 ]; then
echo "ERRO - MSG01 - MES $mes E INVALIDO, ESPECIFIQUE UM MES ENTRE 01 E 12"
elif [ "$mes" -le 0 ]; then
echo "ERRO - MSG01 - MES $mes E INVALIDO, ESPECIFIQUE UM MES ENTRE 01 E 12"
elif [ "$mes" -lt 3 ]; then
m=`expr $mes + 10`
a=`expr $a - 1`
else
m=`expr $mes - 2`
fi
}



valida_ano ()
{

if [ "$ano" -le 999 ] ; then
echo "ERRO - MSG02 - ANO FORA DO RANGE DE CALCULO ( 999 a 9999 )" 
elif [ "$ano" -gt 9999 ] ; then
echo "ERRO - MSG02 - ANO FORA DO RANGE DE CALCULO ( 999 a 9999 )" 
else 
s=`echo $ano | cut -c 1-2`

fi

}


data="$1"
d=`echo $data | cut -d"/" -f1`
mes=`echo $data | cut -d"/" -f2`
ano=`echo $data | cut -d"/" -f3`
a=`echo $ano | cut -c 3-4`
add="1"


valida_mes
valida_ano
int1=`expr \( 13 \* $m - 1 \) / 5`
int2=`expr $a / 4`
int3=`expr $s / 4`
f=`expr $d + $int1 + $a + $int2 + $int3 - \( 2 \* $s \)`


while [ $f -lt 0 ]
do
f=`expr $f + 7`
done


f1=` expr $f / 7`

fim=`expr \( $f - $f1 \* 7 \) + $add `

case "$fim" in

"1" )
echo "Dia $d/$mes/$ano - Domingo"
;;
"2" )
echo "Dia $d/$mes/$ano - Segunda-Feira"
;;
"3" )
echo "Dia $d/$mes/$ano - Terca-Feira"
;;
"4" )
echo "Dia $d/$mes/$ano - Quarta-Feira"
;;
"5" )
echo "Dia $d/$mes/$ano - Quinta-Feira"
;;
"6" )
echo "Dia $d/$mes/$ano - Sexta-Feira"
;;
"7" )
echo "Dia $d/$mes/$ano - Sabado"
;;
* )
echo "ERRO - MSG03 - Erro na rotina de calculo"
;;

esac

Scripts recomendados

Enviar e-mails

Backup via FTP

Conectando em Redes Diversas

Logs do daemontools - tradução de timestamp

Debian Admin


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts