【问题标题】:Is WordPress's timezone supposed to be set to UTC within themes and plugins?WordPress 的时区是否应该在主题和插件中设置为 UTC?
【发布时间】:2016-10-13 01:40:37
【问题描述】:

我正在为 WordPress 构建一个自定义主题和插件,并注意到对 date_default_timezone_get() 的调用返回“UTC”,即使:

  1. PHP 配置为本地时区。
  2. Wordpress 在 Settings:General:Timezone 中设置为本地时区。

这是 WordPress 的正确行为,还是我配置错误、插件错误等?

在调用 PHP 的日期和时间函数之前,我是否需要切换到本地时区(稍后再恢复)?

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    是的,WordPress 确实在内部使用 UTC,因此您从 PHP 的 date()time() 等函数获得的值也将使用 UTC。您可以将这些封装在对 date_default_timezone_set() 的调用中,但这会变得很混乱。

    使用 WordPress 内置的current_time() 功能通常更容易。

    它可以返回格式化的日期(就像您使用 PHP 的 date() 函数获得的那样)或时间戳(就像您通过调用 PHP 的 time() 函数获得的那样)。返回的时间值可用于播种 PHP 的其他日期/时间函数。默认情况下,current_time() 返回本地时区的值。

    注意:在调用current_time() 之前不要使用date_default_timezone_set() 切换到您的本地时区,否则您会从中得到错误的值。

    【讨论】:

      猜你喜欢
      • 2013-10-02
      • 2015-04-16
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      相关资源
      最近更新 更多