0

我在特定时区有一个日期时间对象,即“亚洲/东京”。我正在使用这个日期时间$dt = DateTime->now(time_zone => 'Asia/Tokyo'); 这个输出是格式YYYY-MM-DD'P'HH:mm:ssP是分隔符)

请帮助使用 perl 脚本将其转换为日期时间到纪元秒。

4

1 回答 1

4
DateTime->now(time_zone => 'Asia/Tokyo')->epoch

当然,如果使用now,无论指定哪个时区,都会得到相同的结果,并且会与 . 的输出相同time


这些都指的是同一时间(现在):

>perl -MDateTime -E"say time"
1313046840

>perl -MDateTime -E"say DateTime->now(time_zone => 'Asia/Tokyo')->epoch"
1313046840

>perl -MDateTime -E"say DateTime->now(time_zone => 'America/New_York')->epoch"
1313046840

这些指的是不同的时间:

>perl -MDateTime::Format::Strptime -E"say DateTime::Format::Strptime->new(pattern => '%F %T', time_zone => 'Asia/Tokyo')->parse_datetime('2011-08-11 13:00:00')->epoch"
1313035200

>perl -MDateTime::Format::Strptime -E"say DateTime::Format::Strptime->new(pattern => '%F %T', time_zone => 'America/New_York')->parse_datetime('2011-08-11 13:00:00')->epoch"
1313082000
于 2011-08-11T07:03:07.240 回答