【问题标题】:php localtime() function returns UTC time instead of local timephp localtime() 函数返回 UTC 时间而不是本地时间
【发布时间】:2020-11-06 05:55:18
【问题描述】:

在 php.ini 中我设置了date.timezone = "Europe/Amsterdam"。重新启动 Apache,phpinfo() 中的输出显示正确的时区(欧洲/阿姆斯特丹)。 现在,当我打印 date('H:i') 时,我得到了 UTC 时间,比我们当地时间晚了 2 小时。 但是当我打印 localtime(time(),true) 时,我仍然得到 UTC 时间,而我期望的是当地时间。

timedatectl 的输出是:

Local time: Thu 2020-07-09 09:15:26 CEST
Universal time: Thu 2020-07-09 07:15:26 UTC
RTC time: Thu 2020-07-09 07:15:27
Time zone: Europe/Amsterdam (CEST, +0200)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

感谢任何有关获取当地时间的帮助。

更新:

phpinfo() 的输出是:

date/time support                   enabled
timelib version                     2017.09
"Olson" Timezone Database Version   0.system
Timezone Database                   internal
Default timezone                    UTC

Directive                           Local Value         Master Value
date.default_latitude               31.7667             31.7667
date.default_longitude              35.2333             35.2333
date.sunrise_zenith                 90.583333           90.583333
date.sunset_zenith                  90.583333           90.583333
date.timezone                       Europe/Amsterdam    Europe/Amsterdam

所以“date.timezone”是正确的,但与“Default timezone”有什么区别?

当我在脚本上方添加这一行时,时机正好:

date_default_timezone_set('Europe/Amsterdam');

但是PHP date_default_timezone_set reference page 告诉“除了使用此函数在脚本中设置默认时区,您还可以使用 INI 设置 date.timezone 来设置默认时区。”。这就是我所做的,但没有成功。

在脚本中设置默认时区当然是一种变通的解决方法;在 php.ini 中设置它是更好的方法,所以我仍然对如何解决这个问题感兴趣。

【问题讨论】:

  • 您确定您编辑了正确的 php.ini 文件吗?
  • 是的,我想是的,因为 phpinfo() 中的结果显示了正确的时区
  • 我用 phpinfo() 转储更新了问题,并朝着解决方案迈出了一步
  • 也许你使用的代码/框架中的某些东西/某处覆盖了设置?你在使用任何框架吗?
  • 不错的一个!我正在使用 Wordpress; Wordpress 中的时区设置为 UTC。我将它们更改为欧洲/阿姆斯特丹,但没有效果..

标签: php date time localtime


【解决方案1】:

毕竟我没有找到如何设置这个权利,但在依赖时间的代码之前添加了这个解决方法:

date_default_timezone_set('Europe/Amsterdam');

【讨论】:

    猜你喜欢
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2020-05-04
    相关资源
    最近更新 更多