您是否曾经通过getTransitions函数对PHP时区转换有任何问题?PHP时区getTransitions值得信赖吗?
我试图将阿根廷日期转换为GMT。如果我看着过渡的数组,我得到:
....
[63] => Array ([ts] => 1287284400 [time] => 2010-10-17T03:00:00+0000 [offset] => -7200 [isdst] => 1 [abbr] => ARST)
[64] => Array ([ts] => 1300586400 [time] => 2011-03-20T02:00:00+0000 [offset] => -10800 [isdst] => [abbr] => ART)
...
什么意思,如果我没有错,从2010-10-17到2011-03-20在阿根廷日期秒之差,相比与格林威治标准时间相当,它将是-7.200(2小时)。
但现实是目前的抵消是四个小时。
请问,我错过了什么? 对不起,如果看起来像功课,但我已经搜索并尝试了很多东西,然后再写问题。
谢谢。
编辑: 感谢您的回复。我知道PHP转换在PHP dll.s安装中是硬编码的,所以如果任何一个国家的政府决定改变他们的时间策略,那么getTransitions就会过时,除非你升级你的PHP安装(当你有一个生产环境或者使用共享时主机)。
因此,新的问题,存在任何Web服务或动态API知道特定时区的当前时间延迟(或未来延迟),如http://worldtimeengine.com/api/,但也许是免费的?
有趣。 Timeanddate.com声称阿根廷[今年没有DST切换](http://timeanddate.com/worldclock/timezone.html?n=51&syear=2010),但去年有一次。这会与上面显示的转储冲突。哪个是对的? – 2010-10-27 20:30:06
那里似乎也有一些省份做DST,有些省份拒绝用这个[debian bug report]来判断(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502430),尽管它来自2008年,我不知道目前的状况。 – Gordon 2010-11-01 20:47:39