【问题标题】:php date offsetphp日期偏移
【发布时间】:2011-04-28 16:02:49
【问题描述】:

我正在使用 php 的 date() 函数打印出一个时间,该时间是从 mysql 中检索的。打印出来的实际时间总是休息一小时

我在打电话

date('H:i, d M Y', 100000)

我期待"03:46, 02 Jan 1970",但得到了"04:46, 02 Jan 1970"

为什么?

【问题讨论】:

    标签: php datetime date time timezone


    【解决方案1】:

    之前设置时区,使用date_default_timezone_set(),因为date()函数取决于时区设置(来自php.ini或通过代码设置)

    根据您当前的时区返回日期/时间。

    使用检查您的实际时区

    echo date_default_timezone_get();
    

    使用设置(更改)它

    date_default_timezone_set('UTC'); # UTC is just an example
    

    获取 PHP check this link 中支持的时区的完整列表。

    示例:

    date_default_timezone_set('UTC');
    echo date('H:i, d M Y', 100000);
    

    输出:

    03:46,1970 年 1 月 2 日

    您当前的时区偏移量是+0100,这就是您拥有04:46, 02 Jan 1970 的原因。也不要忘记回到 70 年代很多国家并没有使用 DST 规则。

    参考文献

    【讨论】:

      【解决方案2】:

      您似乎遇到了时区问题。

      您可以使用date_default_timezone_set('UTC'); 为您的 PHP 应用程序设置时区,将 UTC 替换为您需要的任何时间。这应该可以解决您的问题。

      欲了解更多信息,请参阅:http://php.net/manual/en/function.date.php

      【讨论】:

        猜你喜欢
        • 2023-02-05
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 2013-09-13
        • 1970-01-01
        • 2013-11-18
        • 2011-05-18
        相关资源
        最近更新 更多