没有午夜的一天

ike*_*ami 11 timezone

有至少一个跳过从时区23:59:59至1:00:00的时候"雨后春笋向前"为DST.有谁知道它是什么?

以下通常是今天的日期,但是对于符合上述标准的时区,它每年都会失败一天.

$ perl -MDateTime -E'say DateTime->today( time_zone => $ARGV[0] )->ymd;' \
   America/New_York
2013-08-28
Run Code Online (Sandbox Code Playgroud)

我需要时区进行测试.我不是想让上面的代码工作.

Mat*_*int 7

有几种。常见的是巴西使用America/Sao_Paulo时区。

$ perl -MDateTime -E'say DateTime->new(
     year => 2013, month => 10, day => 20, hour => 12,
     time_zone => "America/Sao_Paulo")->truncate( to => "day" )->ymd;'
Invalid local time for date in time zone: America/Sao_Paulo
Run Code Online (Sandbox Code Playgroud)

您可以通过在获取日期之前切换到“浮动” tome区域来解决此问题:

$ perl -MDateTime -E'say DateTime->new(
     year => 2013, month => 10, day => 20, hour => 12,
     time_zone => "America/Sao_Paulo")
   ->set_time_zone("floating")
   ->truncate( to => "day" )
   ->ymd;'
2013-10-20
Run Code Online (Sandbox Code Playgroud)

请参阅本文档。

  • 此外,还有[黎巴嫩](http://www.timeanddate.com/worldclock/clockchange.html?n=34)(`Asia / Beirut`)和[叙利亚](http://www.timeanddate.com/ worldclock / clockchange.html?n = 487)(`Asia / Damascus`) (3认同)