[bcn-pm] trabajando con fechas

Alessandro Guardi alexaeasywander.com
Dij Abr 3 04:54:10 PDT 2008


hola
http://search.cpan.org/~drolsky/DateTime-0.42/lib/DateTime.pm
es lo que uso.

  $dat =~ /^(\d\d\d\d)\:(\d+)\:(\d+)\:(\d+)\:(\d\d)/ or die "Illegal 
data $dat";

donde $dat es el string con la fecha, puede ser que tenga que cambiar el 
regex.
 
     my ($year,$month,$day,$hour,$min,$sec) = ($1,$2,$3,$4,$5,'00');
 
    my $timezone = 'Australia/Canberra';  ### si quiere hacer algo en 
otra timezone
    my $tz = DateTime::TimeZone->new('name'=>$timezone);               
    my $dt = DateTime->new(
             year        => $year,
             month       => $month,
             day         => $day,
             hour        => $hour,
             minute      => $min,
             second      => $sec,
             time_zone   => 'Europe/London',
           );

    $dt->subtract('seconds' => $tz->offset_for_datetime($dt)); ### si 
quiere convertir a la timezone de arriba

    my $ko_t = DateTime::Format::MySQL->format_datetime($dt);  ### si lo 
quire formattear por mysql

Ciao

Alex

Arnau Bria wrote:
> Hola,
>
> tengo que parsear un fichero en el que tengo una cantidad de horas
> expresadas así: HH:MM:SS.
> Quiero coger esa fecha, y factorizarla, es decir, multiplicarla
> dividirla por un factor y volver a representarla como estaba.
>
>
> Llevo un rato buscando módulo en el cpan que trabajen con date, pero no
> acabo de encontrar algo que simplemente convierta ese formato a, por
> ejemplo, segundos. Pero al ser una fecha relativa (no me importa el día
> que es hoy, ni epoch ni nada) no encuentro nada que me satisfaga.
>
> Mi solución es multiplicar las hora, los minutos y tal, es decir,
> hacerme yo la función que lo convierta, pero me extraña que no haya
> nada ya que lo haga, y además mi poca experiencia buscando cositas
> amplia mi duda...
>
>
> alguien me echa una mano?
>
> muchas gracias de antemano!
>
> salu2!
>
>   


Més informació de la llista de correu Barcelona-pm