【问题标题】:Why is my time() off by one hour in php?为什么我的 time() 在 php 中减少了一小时?
【发布时间】:2010-12-21 08:36:16
【问题描述】:

我正在使用以下代码将当前日期和时间添加到我的数据库中:

$current_date_time = time();
echo date('n/j/y g:ia',$current_date_time);

它显示为 11/29/09 12:38am,而它应该是 11/29/09 11:38am

时间提前一小时。我在太平洋时区,我的托管服务提供商在山区时区犹他州。难道这就是它提前一小时的原因吗?

我该如何解决这个问题?我需要从时间中删除一个小时吗?如果是这样,我该怎么做?或者是否有某种其他方式来解释时区差异,使其显示在太平洋时区时间?

【问题讨论】:

    标签: php date time timestamp


    【解决方案1】:

    您可以通过在 PHP 脚本中明确设置时区来解决此问题。你可以通过date_default_timezone_set() 做到这一点:

    date_default_timezone_set('America/Los_Angeles');
    

    这里是list of PHP supported timezones

    您可能还想尝试调用date_default_timezone_get() 的测试脚本来查看它的实际设置,以验证这确实是问题所在。

    【讨论】:

    • 酷!非常感谢!虽然我需要 date_default_timezone_set('America/Los_Angeles');因为我在太平洋时区。
    猜你喜欢
    • 2017-02-21
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多