-
[langage] Dates
Bonjour,
Je voudrais pouvoir déterminer le nombre de jours que contient un mois grace aux modules de base de perl.
Par exemple déterminer le nombre de jours du mois précédent... (problème du 28,29,30 ou 31 jours)
J'aimerais ensuite pour reconvertir ces dates (début et fin) en secondes depuis 1970.
Merci pour votre aide...
-
Je ne comprend pas trop le rapport entre les deux questions... :?:
Mais pour la première, il ne me semble pas trop difficile de simplement faire une fonction mois->nombre de jour (en fonction de l'année), non ? En utilisant local time tu auras alors facilement ta réponse.
Pour la deuxième début et fin de quoi ? Normalement time() renvoit le nombre de secondes depuis l'epoch mais celle-ci n'est pas 1970 sous tous les systèmes. Si tu sais que tu vas travailler sous Unix, pas de problème, sinon, les conversions ne devrait pas être trop difficiles à faire.
Alternative intéressante : le module disponible en standard Time::Local offre une routine timelocal() inverse de localtime() qui est censé renvoyer le nombre de secondes depuis 1970 jusqu'à la date fournie. Intéressant non ? :D
-
Merci bien !!
Je ne connaissais pas la fonction inverse de localtime !! C'est juste ce qu'il me manquais...
-
sinon regarde Class::Date
tu as:
Code:
$date->days_in_month # 28..31
et
Code:
$date->epoch; # UNIX time_t
-
Oui c'est en effet le module Class::Date associé aux méthodes localtime() et timelocal() pour calculer mes dates...
Je n'arrivait justement pas à convertir en secondes avec le module Class::Date avant que je ne découvre timelocal().
Merci à tous