Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- clear
- echo "Vous voulez savoir le jour d'une date donnée, ce petit script est fait pour vous"
- echo ""
- echo "On va vous demander d'abord le jour, puis le mois et finalement l'année (en chiffre), Mais..."
- j=0
- TESTinit=$(echo "$j == 1544654210" | bc)
- until [ $TESTinit -eq 1 ]
- do
- echo ""
- echo "...Il faut entrer une date existante"
- echo ""
- echo -n "Quel Jour ? "
- read j
- until [ $j -ge 1 ] && [ $j -le 31 ]
- do
- echo "Il faut taper le jour en chiffre et sous le format xx!! Et compris en 01 et 31 Pas $j"
- echo -n "Quel Jour ? "
- read j
- done
- echo "OK"
- echo -n "Quel Mois ? "
- read m
- until [ $m -ge 1 ] && [ $m -le 12 ]
- do
- echo "Il faut taper le mois en chiffre et sous le format xx!! Et compris en 01 et 12. Et pas $m"
- echo -n "Quel Mois ? "
- read m
- done
- case "$m" in
- "2" | "02" )
- TESTinit=$(echo "$j <= 29" | bc) ;;
- "4" | "04" | "6" | "06" | "9" | "09" | "11" )
- TESTinit=$(echo "$j <= 30" | bc) ;;
- "1" | "01" | "3" | "03" | "5" | "05" | "7" | "07" | "8" | "08" | "10" | "12" )
- TESTinit=$(echo "$j <= 31" | bc) ;;
- *) ;;
- esac
- done
- echo "OK"
- echo -n "Quel année ? "
- read a
- until [[ "${a}" =~ ^[-+]?[0-9]+$ ]] && [ $a -ge 1900 ]
- do
- echo "Il faut taper l'année en chiffre et sous le format xxxx!! et supérieur ou égal çà 1900. Et pas $a"
- echo -n "Quel année ? "
- read a
- done
- echo "OK"
- let "an = $a - 1900"
- let "bix = $an/4"
- bix=${bix#-}
- let "bix = $bix+1"
- ane=${an#-}
- ann=$(echo "($ane/4)+1" | bc -l)
- bixe=$(echo "$bix*1.00000000000000000000" | bc)
- for ((i = 1900 ; i <= $a ; i += 4))
- do
- let "z=$i"
- divaa=$(echo "$z/100" | bc -l)
- let "divab = $z/100"
- divac=$(echo "$divab*1.00000000000000000000" | bc)
- TESTa=$(echo "$divaa==$divac" | bc)
- divba=$(echo "$z/400" | bc -l)
- let "divbb = $z/400"
- divbc=$(echo "$divbb*1.00000000000000000000" | bc)
- TESTb=$(echo "$divba!=$divbc" | bc)
- if [ $TESTa -eq 1 ] && [ $TESTb -eq 1 ]
- then
- let "bix = $bix-1"
- fi
- done
- divaa=$(echo "$a/100" | bc -l)
- let "divab = $a/100"
- divab=$(echo "$divab*1.00000000000000000000" | bc)
- TESTa=$(echo "$divaa!=$divab" | bc)
- divba=$(echo "$a/400" | bc -l)
- let "divbb = $a/400"
- divbb=$(echo "$divbb*1.00000000000000000000" | bc)
- TESTb=$(echo "$divba==$divbb" | bc)
- TEST=$(echo "$ann==$bixe" | bc)
- if [ $TESTb -eq 1 ]
- then
- let "bix = $bix-1"
- elif [ $TESTa -eq 1 ] && [ $TEST -eq 1 ] && [ $m -lt 3 ]
- then
- let "bix = $bix-1"
- fi
- case "$m" in
- "1" | "01" ) let "jpm = 0"
- mois="Janvier" ;;
- "2" | "02" ) let "jpm = 31"
- mois="Février" ;;
- "3" | "03" ) let "jpm = 59"
- mois="Mars" ;;
- "4" | "04" ) let "jpm = 90"
- mois="Avril" ;;
- "5" | "05" ) let "jpm = 120"
- mois="Mai" ;;
- "6" | "06" ) let "jpm = 151"
- mois="Juin" ;;
- "7" | "07" ) let "jpm = 181"
- mois="Juillet" ;;
- "8" | "08" ) let "jpm = 212"
- mois="Août" ;;
- "9" | "09" ) let "jpm = 243"
- mois="Septembre" ;;
- "10") let "jpm = 273"
- mois="Octobre" ;;
- "11") let "jpm = 304"
- mois="Novembre" ;;
- "12") let "jpm = 334"
- mois="Décembre" ;;
- *) echo "pb" ;;
- esac
- case "$j" in
- "1" | "01" ) let "d = 1" ;;
- "2" | "02" ) let "d = 2" ;;
- "3" | "03" ) let "d = 3" ;;
- "4" | "04" ) let "d = 4" ;;
- "5" | "05" ) let "d = 5" ;;
- "6" | "06" ) let "d = 6" ;;
- "7" | "07" ) let "d = 7" ;;
- "8" | "08" ) let "d = 8" ;;
- "9" | "09" ) let "d = 9" ;;
- *) let "d = $j" ;;
- esac
- let "NbJoursTotals = $an * 365 + $bix + $jpm + $d"
- echo "Nombre de jours entre la date entrée et le 1er Janvier 1900 est de $NbJoursTotals"
- while [ $NbJoursTotals -gt 7 ]
- do
- let "NbJoursTotals = $NbJoursTotals - 7"
- done
- case "$NbJoursTotals" in
- "1" ) d="Lundi" ;;
- "2" ) d="Mardi" ;;
- "3" ) d="Mercredi" ;;
- "4" ) d="Jeudi" ;;
- "5" ) d="Vendredi";;
- "6" ) d="Samedi" ;;
- "7" ) d="Dimanche" ;;
- *) echo "pb" ;;
- esac
- echo "La date que vous avez entrée est le $d $j $mois $a"
Add Comment
Please, Sign In to add comment