【发布时间】:2014-01-25 04:18:25
【问题描述】:
PHP原生的date()函数返回时间是否按照DST?
让我们在这里考虑示例。在php.ini 中设置的时区是America/New_York。如果我们考虑Tue, 20 Dec 2011 20:57:45 +0000,那么它是显示日期Tue, 20 Dec 2011 15:57:45 -0500 还是-0400 用于夏令时?
【问题讨论】:
-
你在问什么?您给了我们一个 UTC 日期并在两个时区打印它。 America/New_York 尊重 DST。
-
如果你想处理夏令时,不要使用 date();使用 DateTime 对象,然后你的 DateTimeZone 对象有一个 getTransitions() 方法,它甚至会告诉你何时发生更改
-
你为什么不试试?
-
我也推荐使用
DateTime(和DateTimeZone)对象。 -
@MikeB:
Etc/GMT-x是相反的GMT-x。所以Etc/GMT-4是GMT+4,反之亦然。