Dia da semana

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

[ Hits: 16.205 ]

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

Backup via FTP

DELETAR arquivos a X semanas passadas

Filtro para importação de extrato do Banco do Brasil para Kmymoney

Reduzir mp3 para celular

Prova 1.0


  

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