2010-10-17 30 views

Répondre

11

Vous pouvez utiliser DateTime et DateTime :: Durée

http://search.cpan.org/dist/DateTime/lib/DateTime/Duration.pm

Ou travailler avec timestamp unix:

my $now = time(); 
my $threeDaysAgo = $now - 3 * 86400; 
my ($day, $mon, $year) = (localtime($threeDaysAgo))[3, 4, 5]; 
printf("Three days ago was %04d-%02d-%02d", $year+1900, $mon+1, $day); 
+3

vous ne devez même pas à se soucier de DateTime :: Durée lui-même pour beaucoup de manipulation de date, par exemple '$ three_days_ago = DateTime-> now() -> soustraire (days => 3)' – plusplus

+0

La seule chose à faire, en utilisant DateTime, est de minimiser le nombre d'objets DateTime que vous instanciez (cela peut prendre beaucoup de temps à allouer et détruire). Réutiliser aussi souvent que possible. –

5

Il y a beaucoup, beaucoup de différents modules de manipulation date et l'heure.

Ces comprennent:

Tous ces éléments sont bien pensé. Il y en a beaucoup d'autres en plus. Beaucoup dépend du type d'arithmétique que vous voulez faire. DateTime est peut-être le plus rigoureux, mais Date :: Calc et Date :: Manip peuvent être plus faciles à gérer pour le travail dont vous avez besoin.

0

Ceci est de loin le module avec le plus de fonctionnalités que je suis venu à travers: Date::Manip