Différence entre deux dates

Différence entre deux dates - Shell/Batch - Programmation

Marsh Posté le 26-02-2008 à 12:47:09    

Bonjour,
 
Ya t'il un moyen de calculer la différence entre deux date .
 
savoir si une date est supérieure a une autre.
 
Merci de votre aide

Reply

Marsh Posté le 26-02-2008 à 12:47:09   

Reply

Marsh Posté le 26-02-2008 à 15:54:20    

Sous linux (enfin, avec gnu date), tu peux faire :

date +%s -d "Feb 26 15:51:09 CET 2008"


pour convertir une date en timestamp (nombre de secondes depuis le 1er janvier 1970). Après la comparaison est évidente.
 
Mais bon, j'imagine que tu veux faire ça sous windows...

Reply

Marsh Posté le 29-02-2008 à 16:59:51    

La commande ne fonctionne pas j'ai le message suivant :
date +%s -d "Feb 26 15:51:09 CST 2008"
date: 0551-402 Invalid character in date/time specification.
Usage: date [-u] [+"Field Descriptors"]

Reply

Marsh Posté le 04-03-2008 à 15:19:38    

incinerator a écrit :

La commande ne fonctionne pas j'ai le message suivant :
date +%s -d "Feb 26 15:51:09 CST 2008"
date: 0551-402 Invalid character in date/time specification.
Usage: date [-u] [+"Field Descriptors"]


 
Dis-nous sur quel système tu bosses parce que ta commande "date" semble un peu vieillote...
 
Si ça marche pas, t'as le bon vieux algo qui a fait ses preuves...
si aa1 > aa2
    date1 est plus grand que date2
    fin du sketche
si aa1 < aa2
    date1 est plus petit que date2
    fin du sketche
si mm1 > mm2
    date1 est plus grand que date2
    fin du sketche
si mm1 < mm2
    date1 est plus petit que date2
    fin du sketche
si jj1 > jj2
    date1 est plus grand que date2
    fin du sketche
si jj1 < jj2
    date1 est plus petit que date2
    fin du sketche
date1 égal à date2
 
 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 05-03-2008 à 09:51:25    

En supposant que les deux dates sont dans la même timezone ;)

Reply

Marsh Posté le 07-03-2008 à 11:04:31    

Merci

Reply

Marsh Posté le 24-04-2008 à 12:11:13    

Salut, moi la comparaison ya pas de souci et j'utilise plutôt un un format de type %y%m%d.
 
Mais il s'agit vraiment d'un problème de différence. J'en profite pour poster ici vu le titre.  
 
Ma question donc comment faire la différence en jour entre deux dates. Je veux éviter d'utiliser un gros algo qui va vérifier s'il s'agit d'un mois à 30 ou à 31 jours, s'il s'agit d'année bissextile....
J'ai essayé avec date +%s des deux dates puis diviser par 86400 ( nb de secondes par jour) au début ca va, mais pour certaines il tombe pas sur des nombres entiers, est-ce peut être à cause des changement d'heure??
Jvoulais savoir si vous aviez un truc plus propre ou si jdevrais me limiter à prendre l'arrondi???
 
pour info:
 
$diff= (`echo -n \`date +%s -d \'$date1\' \`` - `echo -n \`date +%s -d \'$date2]\'\``) / 86400 ;
 
merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed