2

你有没有遇到过通过 getTransitions 函数转换 PHP 时区的问题?

我正在尝试将阿根廷日期转换为 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 年 3 月 20 日,阿根廷日期的秒数与格林威治标准时间的等值相比,将是 -7.200(2 小时)。

但现实是当前的偏移量是四个小时。

请问,我错过了什么?对不起,如果看起来像家庭作业,但在写问题之前我已经搜索并尝试了很多东西。

谢谢。

编辑:感谢您的回复。我知道 PHP 转换在 PHP dll.s 安装中是硬编码的,因此如果任何国家/地区政府决定更改他们的时间政策,那么 getTransitions 就会过时,除非您升级您的 PHP 安装(当您有生产环境或使用共享时,这并不容易托管)。

所以新问题,存在任何 web 服务或动态 API 来了解特定时区的当前时间延迟(或未来延迟),例如http://worldtimeengine.com/api/但也许免费?

4

1 回答 1

1

我不确定这是不正确的?

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

阿根廷通常处于 UTC -3 的国家,并且他们有时会遵守夏季时间。哪个会使它成为UTC -2?

另一方面,文章指出他们目前没有观察夏令时,所以这会让他们保持在 UTC-3 (-10800)?您拥有的时间数据库可能是旧的?

于 2010-10-27T20:35:55.427 回答