[Bash / Perl] comparer deux dates

Jamel -  
[Dal] Messages postés 6373 Statut Contributeur -
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
A voir également:

2 réponses

[Dal] Messages postés 6373 Statut Contributeur 1 106
 
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
1
Jamel
 
Salut,

je te remercie pour ta reponse, j'avais pas pensé a cette solution. Je vais l'essayer de suite :-)

Pour la saisie je sous entendait en fait, de creer un script dans lequel on passerait en parametre une date qui serait ensuite comparé avec d'autre date.

merci en tout cas
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
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
-1