带有时间戳零的PHP日期返回1小时

时间:2013-06-04 19:10:40

标签: php date timezone timestamp

如果我执行以下操作:

date("H:i:s", 0);

返回01:00:00,而00:00:00 它可能与我的本地主机的时区有关吗? (UTC + 1)

如果是这样,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

在致电date()之前设置时区。您将使用date_default_timezone_set()

date_default_timezone_set('UTC');
echo date("H:i:s", 0);

See it in action

如果您正在进行时区敏感操作,请不要忘记将其重新设置。

或者:

以下是使用DateTime()执行此操作的另一种方法:

$dt = new DateTime('@0', new DateTimeZone('UTC'));
echo $dt->format('H:i:s');

See it in action

答案 1 :(得分:0)

使用gmdate()函数代替date()函数。