【问题标题】:does php's date_default_timezone_set adjust to daylight saving?php 的 date_default_timezone_set 是否适应夏令时?
【发布时间】:2011-12-01 09:27:12
【问题描述】:

php 的 date_default_timezone_set 是否适应夏令时?

我有这个代码,想知道它是否总是会导致正确的斯德哥尔摩时间?

  date_default_timezone_set('Europe/Stockholm');
  $timestamp = date("Y-m-d H:i:s");

【问题讨论】:

  • 一句话:应该,但没有。在时区部门,PHP 很糟糕。一直都有。

标签: php date timezone dst


【解决方案1】:

PHP 不会自动处理夏令时。你必须检查

if (date('I', time()) == 1) ... the time is in DST mode ("0" = not)

那么你应该相应地调整时间。 (注意:'I' 大写。我刚刚检查过它并且有效。)

【讨论】:

    【解决方案2】:

    是的,这总是会导致正确的时间。

    【讨论】:

    • 如果你的 timezonedb 是实际的。
    • 不,它没有!另请参阅上面 Jeffz 的评论。
    • 不,它没有!回复前一定要用实际代码核对一下自己的想法!
    【解决方案3】:

    只要您的时区列在以下链接中,时间戳就应该与正确的时区相关。

    http://www.php.net/manual/en/timezones.php

    【讨论】:

    • 正确的时区不会自动处理 DST 时间!
    • 再一次,不,不,不!你们应该在发布之前用代码检查你的“解决方案”!
    猜你喜欢
    • 1970-01-01
    • 2017-08-16
    • 2020-04-29
    • 2011-07-26
    • 2014-10-06
    • 2012-07-03
    • 2018-01-12
    • 2012-05-26
    • 2013-12-23
    相关资源
    最近更新 更多