Página 1 de 1

Minutos entre dos fechas

NotaPublicado: 2009-10-26 07:19 @346
por Lor
Tengo dos fechas del tipo '2009-10-23 12:02:00' y necesito saber la cantidad de MINUTOS entre las mismas. ¿Qué módulo puedo utilizar, y cómo?

Muchas gracias.

Re: Minutos entre dos fechas

NotaPublicado: 2009-10-26 08:47 @407
por explorer
Hay varios módulos para realizar operaciones con fechas, pero el más moderno y recomendable es la familia de módulos de DateTime (CPAN)

En concreto, haciendo uso de solo un módulo más que interprete el formato de las fechas, se puede hacer en pocas líneas:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use diagnostics;
  5.  
  6. use DateTime::Format::Strptime;
  7.  
  8. my $Strp = DateTime::Format::Strptime->new(pattern=>'%Y-%m-%d %H:%M:%S');
  9.  
  10. my $fecha1 = '2009-10-23 12:02:00';
  11. my $fecha2 = '2009-11-23 12:05:30';
  12.  
  13. my $dt_fecha1 = $Strp->parse_datetime( $fecha1 );
  14. my $dt_fecha2 = $Strp->parse_datetime( $fecha2 );
  15.  
  16. my $dt_duracion = $dt_fecha1->delta_ms( $dt_fecha2 );
  17.  
  18. print $dt_duracion->hours   * 60
  19.    +  $dt_duracion->minutes
  20.    +  $dt_duracion->seconds / 60
  21.    ,  " minutos\n"
  22.    ;                               # 44643.5 minutos
  23.  
  24. __END__
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Re: Minutos entre dos fechas

NotaPublicado: 2009-10-27 06:56 @330
por Lor
¡¡¡¡PERFECTO!!!! ¡¡¡Explorer como siempre!!! Muchas Gracias.