Rechercher : dans
Par :

[Bash / Perl] comparer deux dates

Dernière réponse le 24 jun 2005 à 19:43:43 Jamel, le 23 jun 2005 à 15:16:04 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [Bash / Perl] comparer deux dates » dans :
Perl - les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les...

1

[Dal], le 23 jun 2005 à 18:03:00

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

Répondre à [Dal]

2

Jamel, le 24 jun 2005 à 08:29:47

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

Répondre à Jamel

3

 [Dal], le 24 jun 2005 à 19:43:43

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

Répondre à [Dal]
Collection CommentÇaMarche.net