2010-10-17 13 views

Respuesta

11

Puede utilizar DateTime DateTime :: Duración y

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

o trabajar con marcas de tiempo 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

que ni siquiera tiene que molestarse con DateTime :: Duración sí para un montón de manipulación de la fecha, por ejemplo, '$ three_days_ago = DateTime-> now() -> resta (days => 3)' – plusplus

+0

Lo único que debe tener cuidado, usando DateTime, es minimizar la cantidad de objetos DateTime que instancia (puede tomar mucho tiempo asignarlos y destruir). Reutilizar con la mayor frecuencia posible. –

5

Hay muchos, muchos diferentes módulos de manipulación de fecha y hora.

Estos incluyen:

Todos ellos están bien pensado. Hay muchos otros además. Mucho depende del tipo de aritmética que quieras hacer. DateTime es quizás el más riguroso, pero Date :: Calc and Date :: Manip puede ser más fácil de manejar para el trabajo que necesita.

Cuestiones relacionadas