Otro asunto es que necesitemos esa fecha en un formato que vaya a leer un ser humano. Pero un ser humano no va a leer un XML (bueno, a lo mejor tutoki sí ) En ese caso, podemos
- guardar en el XML los dos formatos. El de ISO8601 para que sea interpretable por otro programa, y otro formato más "humano"
- guardar solo el formato ISO8601 y con otro programa que lea el XML, traducirlo al formato humano, en el momento de sacarlo en pantalla
En el segundo caso, puedes realizar una conversión sencilla.
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use v5.14;
- use DateTime;
- use DateTime::Locale;
- use DateTime::Format::ISO8601;
- use open qw(:utf8 :std); # salida en pantalla en formato UTF8
- ## Creamos un objeto analizar de formato ISO8601
- my $iso8601 = DateTime::Format::ISO8601->new();
- ## Creamos un objeto DateTime a partir del análisis de la fecha en formato ISO8601
- my $fecha = DateTime->from_object(
- object => $iso8601->parse_datetime("20121005T100000"),
- locale => 'es_ES',
- );
- ## Creamos un objeto para acceder a los distintos formatos
- my $local = DateTime::Locale->load('es_ES');
- ## Salida en pantalla
- say $fecha->format_cldr($local->datetime_format_full()); # viernes 5 de octubre de 2012 10:00:00 floating
- __END__
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4