2010-10-27 17 views
2

您是否曾经通过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/,但也许是免费的?

+2

有趣。 Timeanddate.com声称阿根廷[今年没有DST切换](http://timeanddate.com/worldclock/timezone.html?n=51&syear=2010),但去年有一次。这会与上面显示的转储冲突。哪个是对的? – 2010-10-27 20:30:06

+0

那里似乎也有一些省份做DST,有些省份拒绝用这个[debian bug report]来判断(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=502430),尽管它来自2008年,我不知道目前的状况。 – Gordon 2010-11-01 20:47:39

回答

1

我不确定这不正确?

http://en.wikipedia.org/wiki/Time_in_Argentina

指出,通常阿根廷是UTC -3并且他们有时观察夏时制。这将使UTC -2?另一方面,文章指出,他们目前没有观察夏令时,所以他们会保持在UTC-3(-10800)?你拥有的时间数据库可能是旧的?