【问题标题】:website displaying wrong timezone网站显示错误的时区
【发布时间】:2014-01-21 21:05:49
【问题描述】:

我一直在想这个……

  • 服务器位置:旧金山
  • 服务器配置: Ubuntu + LEMP
  • 应用: Wordpress

好的,所以我将 Ubuntu 的时间设置为当前时间,并将时区更改为 HST,这是我所在的时间并重新启动了 cron。

我将 php.ini 时区设置为 Pacific/Honolulu,并将 Wordpress Settings/Timezone 设置为 Pacific/Honolulu

重启nginx和php...

但是当我

<?php echo date('e'); ?>

它显示 UTC…

我错过了什么吗?帮忙!

【问题讨论】:

  • ubuntu系统在哪里?
  • 服务器时间可能设置不正确。这是您的服务器、共享服务器等吗?
  • 你完成了 date_default_timezone_set('HNL'); // 或任何时区名称

标签: php wordpress ubuntu nginx timezone


【解决方案1】:

迟到总比没有好,所以我会在这里插话。这实际上是 WordPress 和将默认时区设置回 UTC 的奇怪决定,无论您的 INI 设置是什么。这个令人愉快的宝石可以在wp-settings.php 找到(链接是主干版本,标记的线将来可能会关闭)。

我猜他们这样做是为了让他们的内部时间计算更容易并建立在一个共同的基础上。我确实理解这背后的意图,但仍然认为这很尴尬,并且肯定给用户和开发人员(就像我刚才一样)带来了很多困惑和麻烦。他们本可以将其保留在内部。

无论如何,底线是:在主题或插件等中进行自己的时间计算时,请务必事先明确设置时区。

仅使用time() 并认为您可以开始使用可能会让人头疼。您可以通过get_option('timezone_string') 获取设置面板中设置的内容,例如将其与date_default_timezone_set 结合使用。

Weston Ruter summed this all up just fine 并且还建议使用 PHP 的日期和时间相关类并为它们显式设置时区。

【讨论】:

    【解决方案2】:

    在您的php.ini 文件中确保您设置:

    date.timezone = "America/Los_Angeles"

    然后使用以下命令将您的服务器时间更改为适当的时区:

    sudo dpkg-reconfigure tzdata

    【讨论】:

      【解决方案3】:

      您最初启动 nginx 时设置的系统时区是什么?

      您是否真的关闭了nginx,然后从头开始启动它,或者您只是让它重新读取其配置文件? (仅供参考:流行的cat /var/run/nginx.pid | xargs kill -HUP 不会导致重启。)

      您最好的选择可能是执行sudo sh -c "cat /usr/share/zoneinfo/Pacific/Honolulu > /etc/localtime" 之类的操作,从各个应用程序中删除任何提及的时区,然后正确关闭并启动整个服务器。

      【讨论】:

        【解决方案4】:

        在脚本中设置时区。

        date_default_timezone_set('PST');
        date('e');
        

        【讨论】:

          【解决方案5】:

          尝试关注,

          <?php
          date_default_timezone_set('America/Los_Angeles');
          echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
          ?>
          

          【讨论】:

          • 我试过了,它可以工作,但是我不明白为什么当 ubuntu、php 和 wordpress 设置为 HST 时它显示 UTC
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-13
          • 1970-01-01
          • 1970-01-01
          • 2015-12-03
          • 1970-01-01
          • 2021-01-17
          相关资源
          最近更新 更多