我想转换(使用perl)
05\/26\/2013 06:09:47
to 26-05-2013 06:09:47
另外我怎样才能将上面的日期和时间更改为 GMT 日期和时间?
use DateTime::Format::Strptime qw( );
my $src_format = DateTime::Format::Strptime->new(
pattern => '%m\\/%d\\/%Y %H:%M:%S',
time_zone => 'local', # or America/New_York
on_error => 'croak',
);
my $dst_format = DateTime::Format::Strptime->new(
pattern => '%d-%m-%Y %H:%M:%S',
);
my $dt = $src_format->parse_datetime('05\\/26\\/2013 06:09:47');
$dt->set_time_zone('GMT');
say $dst_format->format_datetime($dt);
如果我们专门处理本地和 UTC/GMT,那么下面的内容会更简单,尽管可能更神秘一些。
use POSIX qw( strftime );
use Time::Local qw( timelocal );
my ($m,$d,$Y, $H,$M,$S) =
'05\\/26\\/2013 06:09:47' =~
m{^(\d+)\\/(\d+)\\/(\d+) (\d+):(\d+):(\d+)\z}
or die;
say strftime('%d-%m-%Y %H:%M:%S', gmtime(timelocal($S,$M,$H, $d,$m-1,$Y-1900)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)