• Publicidad

Convertir fecha a formato unix

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Convertir fecha a formato unix

Notapor newperlero » 2011-09-23 02:02 @126

Hola,
Tengo una fecha en este formato:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
20110818130234.0Z
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

¿Hay alguna forma para convertirla a formato unix? ( Nº de segungos desde 1970 )
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318

Publicidad

Re: Convertir fecha a formato unix

Notapor explorer » 2011-09-23 06:45 @323

¿Qué formato es ese?

Parece que es un formato ISO 8601 completa (desde el año hasta las centésimas), pero le falta el indicativo 'T'.

Si se lo ponemos, la solución es sencilla:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use Modern::Perl;       # Somos modernos
  3. use DateTime::Format::ISO8601;
  4.  
  5. my $str = '20110818130234.0Z';
  6.  
  7. # Ajustamos a formato ISO 8601
  8. substr($str, 8, 0) = 'T';
  9.  
  10. say "[$str]";           # [20110818T130234.0Z]
  11.  
  12. my $dt = DateTime::Format::ISO8601->parse_datetime( $str );
  13.  
  14. say $dt->epoch;         # 1313672554
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Convertir fecha a formato unix

Notapor newperlero » 2011-09-23 09:14 @426

La fecha en ese formato proviene de diferentes atributos de un directorio activo, como por ejemplo, whenChanged.

¡Muchas gracias!

De todas formas, ojeando por el foro, he descubierto el módulo DateTime, que me puede venir bien para algunas cosas y a lo mejor puedo hacer más sencillo el proceso que estoy realizando.

Saludos.
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318

Re: Convertir fecha a formato unix

Notapor explorer » 2011-09-23 09:24 @433

Si te refieres al ActiveDirectory de Micro$oft, hay un módulo en CPAN llamado DateTime::Format::Epoch::ActiveDirectory que permite obtener el número de segundos desde el epoch.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 0 invitados