Here is a very easy way to compare dates under the BASH shell under linux.
Use the date function.
Here is a simple example.
Let's say i want to know if this happened more than 30 days ago.
I have two dates
Today: 2009/07/15
Then: 2009/03/21
It would be much trouble trying to compare the year then the month and finally the day and
finding if 30 days have passed or not.
Here comes the date function.
Simply do this
date -d 2009/03/21 +%s
this will give you your date in second since epoch
(lookup wikipedia if you dont know what epoch is)
so then do
date +%s
to get today's date in second since epoch.
All you have to do then is find the amount of second you want to have between the dates.
In our case 30 days is: 30*24h*60m*60s = 2 592 000s
sooo i think you can guess the rest.
Have fun :D
== French version ==
Voici une maniere tres simple de comparer deux dates dans le BASH shell de Linux.
Utiliser la fonction date.
Voici un exemple.
Disont que vous voulez savoir si plus de 30 jours se sont ecouler depuis une certaine date.
Aujourd'hui: 2009/07/15
A ce moment: 2009/03/21
Il serait complique de comparer les annees ensuite les mois et finalement les jours pour
determiner si plus de 30 jours se sont ecouler.
Voila que viens en jeux la fonction date.
Faite simplement ceci:
date -d 2009/03/21 +%s
Ceci va vous donner la date en seconde depuis epoch.
(allez voir wikipedia si vous ne savez pas ce qu'est l'epoch)
donc faite ensuite
date +%s
pour avoir la date d'aujourd'hui en seconde depuis l'epoch
Il ne vous reste plus qua savoir combien de seconde devrait avoir passer entre vos deux dates.
Dans notre cas 30 jours: 30*24h*60m*60s = 2 592 000s
Bon... je crois que vous pouvez devinez le reste.
Amusez vous bien! Et ne courez pas avec des ciseaux.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire