[Bash / Perl] comparer deux dates
Jamel
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterai comprarer deux dates en bash ou en perl.
Du genre :
Date1="23-06" (23 juin)
Date2="15-02"
if [ Date1 -lt Date2 ];
echo "ok"
fi
J'ai cherché du coté de date +%x pour obtenir la date, mais moi ce que je souhaiterai c'est de saisir au moins une des deux dates pour pouvoir la comparer avec la date courante.
Je vous remercie
Je souhaiterai comprarer deux dates en bash ou en perl.
Du genre :
Date1="23-06" (23 juin)
Date2="15-02"
if [ Date1 -lt Date2 ];
echo "ok"
fi
J'ai cherché du coté de date +%x pour obtenir la date, mais moi ce que je souhaiterai c'est de saisir au moins une des deux dates pour pouvoir la comparer avec la date courante.
Je vous remercie
2 réponses
-
Salut Jamel,
Je n'ai pas bien compris ton histoire de "saisie".
Une solution, pour la comparaison, serait d'utiliser la commande "date" en convertissant les dates en secondes depuis Epoch et en comparant les valeurs.
man date
Dal -
Salut Jamel,
Sous bash, les paramètres de ligne de commande sont dans les variables $1, $2, ...
Tu peux faire un script comme celà qui teste l'existence d'un paramètre :
if [ -n "$1" ] # Test if command line argument present (non-empty). then lines=$1 else lines=$LINES # Default, if not specified on command line. fi
Cet exemple est tiré de l'excellent "Advanced Bash-Scripting Guide" que tu trouveras sur l'Internet.
Il faudra que tu contrôles que le format dans lequel le paramètre est entré par l'utilisateur correspond à celui que tu spécifie pour la conversion de format.
Pour celà, tu pourras utiliser la sortie de la commande "date".
Dal