Dia da semana
Publicado por DAVISON MARCEL PASQUALINI (última atualização em 20/12/2009)
[ Hits: 16.375 ]
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".
# 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
Migrar de MySQL 3.x e 4.x para 5.0 no Debian
Montagem e desmontagem de dispositivos
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Instalar debian testing (13) "por cima" do debian 12 (2)
firefox nao guarda meus logins nos sites (0)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)