使用Perl转换日期格式和时区

时间:2013-06-07 06:35:08

标签: perl

我如何转换:

05\/26\/2013 06:09:4725 May 2013 23:09:47

上述日期是GMT-7时区。 如何以上述格式将其更改为GMT时间。

感谢。

1 个答案:

答案 0 :(得分:1)

use DateTime::Format::Strptime qw( );

my $src_format = DateTime::Format::Strptime->new(
   pattern   => '%m\\/%d\\/%Y %H:%M:%S',
   time_zone => '+0700',
   on_error  => 'croak',
);

my $dst_format = DateTime::Format::Strptime->new(
   pattern   => '%d %b %Y %H:%M:%S',
   locale    => 'en_US',
   on_error  => 'croak',
);

my $dt = $src_format->parse_datetime('05\\/26\\/2013 06:09:47');
$dt->set_time_zone('GMT');
say $dst_format->format_datetime($dt);