我有以下代码:
var_dump(new \DateTime('now', new DateTimeZone('GMT')));
我得到以下输出,落后一小时:
object(DateTime)#894 (3) { ["date"]=> string(19) "2012-09-13 13:54:26" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "UTC" }
但是,如果我将代码更改为以下内容:
var_dump(new \DateTime('now', new DateTimeZone(date_default_timezone_get())));
然后我得到以下正确的输出:
object(DateTime)#894 (3) { ["date"]=> string(19) "2012-09-13 14:54:26" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London" }
我在 Derick Rethans博客上读到时区 3 应该考虑到任何夏令时,谁能解释为什么在第一个代码片段中我比实际时间早一个小时?!