自动获取考虑白天节省时间的时间

时间:2013-09-13 13:44:05

标签: php

我觉得我很疯狂,因为这很简单。

我电脑上的时间目前是:14:41 当我运行下面的任何代码时,它返回:13:41。

$date = new DateTime();
$date->format('Y-m-d H:i:s') //13:41
date('Y-m-d H:i:s') //13:41

date_default_timezone_get()返回UTC。

现在我理解为什么它落后一小时(因为我们处于夏令时)但是,是否有一个功能将所有这些考虑在内并返回实际时间?

p.s我希望在这里错过一些明显的东西。

修改: date('Y-m-d H:i:s -- I -- e');返回2013-09-13 14:15:47 -- 0 -- UTCI参数不应该返回1吗?

1 个答案:

答案 0 :(得分:1)

不要依赖php.ini设置。如果要控制时区,请控制时区:

<?php

$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/London'));
$date->format('Y-m-d H:i:s e')

将“欧洲/伦敦”替换为您对“实际时间”的定义。

暂且不说:如果date_default_timezone_get()返回UTC,那么$date->format()的输出在具有正确时钟的每台机器上都是相同的。这就是UTC的要点。