[Perl] Comparer deux dates

Fermé
rev - 10 déc. 2007 à 18:05
 rev - 12 déc. 2007 à 14:44
Bonjour,

Je suis un debutant en linux et en perl, merci d'etre compréhensif ^^ , j'ai deja lu pas mal de truc sur le sujet, enfin je remerci d'avance ceux qui pourront m'aider ^^

J'ai une date contenu dans une variable : avec ce type de format : $date1 = Sep 10 12:25:32 2010

J'aimerai la comparer avec la date actuel ($date2, que j'ai aussi dans une variable avec le meme format) , et que le script ecrive un message si le delai entre les deux date est inférieur ou égal à 2mois ($date1 - $date2 =< 2mois)

Je peu installer des packages, ou je sais pas comment sa s'appelle du genre Date::Time, d'apres ce que j'ai lu sur d'autre sujet ca pourrai etre utile.

A mon avis, c'est très simple pour qqun qui s'y connait, mais en tout cas pas pour moi ^^

Voila, merci ^^

24 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
12 déc. 2007 à 14:14
Bizarre,

regarde ce que j'ai (j'ai installé la version 5.48
lami20j@debserv:~/trash$ cat ccm.pl
#!/usr/bin/perl
use strict;use warnings;
use Date::Manip;
##
my $date1 = "Sep 10 12:25:32 2010";
my $d1 = ParseDate($date1);
print "$d1\n";
__END__
lami20j@debserv:~/trash$ perl -MDate::Manip -e 'print "$Date::Manip::VERSION\n"'
5.48
lami20j@debserv:~/trash$ perl ccm.pl
2010091012:25:32
lami20j@debserv:~/trash$

0
Ce qui est bizarre c'est que dans le message d'erreur il y a la valeur attendu :

date passed in ('2010091012:25:32') is not a Date::Manip object at test3.pl line 7

Il faudrai juste cette valeur sans le message d'erreur en faite :O
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
12 déc. 2007 à 14:23
ecoute, je vais essayer de decouvrire, mais si c'est possible fait comme je l'ai fait dans mon message 23
donc le fichier ainsi que l'exécution
merci
0
Ca marche !

J'ai reinstaller Date::Manip, et ca a marcher ensuite, j'aurai du y penser avant malgré que je n'avais pourtant pas eu d'erreur lors de l'installation, enfin bref, un mystère de resolu.

Après ça, ton code marche, le mien aussi et j'obtient bien le nombre de jours de difference entre les deux dates.

Merci pour le temps que tu as consacré a ce problème !
:)
0