PHP UTC时区

时间:2013-10-31 12:42:13

标签: php timezone utc

我在整个脚本中广泛使用unix时间,通常我按如下方式设置时区:

date_default_timezone_set('Europe/London');

这种情况一直很好,直到上周末时钟回到一个小时,我怀疑这与美国的时钟还没有回来,直到下周末都不会有关。

我可以通过将时区设置为UTC来解决问题,但为什么欧洲/伦敦设置无法正常工作。据我所知,我的服务器位于英国。

谢谢,

艾伦。

1 个答案:

答案 0 :(得分:3)

Europe/LondonUTC的时区不同。英国观察夏令时,因此在半年中,时区偏移为UTC + 1。上周末,夏令时已在欧洲结束。

但是,我怀疑你没有正确使用Unix时间。在PHP中,如果时钟设置正确,time()始终返回当前的Unix时间戳,而不考虑时区。如果您的时间戳增加了一个小时,您可能会将当地时间解释为UTC时间。

作为旁注,如果您要指定时区,则应始终指定您打算使用的时区。如果要使用UTC,请指定UTC。如果您想使用在英国使用的时区,请指定Europe/London。如果由于某种原因,英国会更改其时区或夏令时规则,Europe/London将更新这些更改。