首页 > 解决方案 > PHP date_default_timezone_set() 未返回预期结果

问题描述

我在这里做了一个小测试页面,因为我们系统上的用户报告他们看到的时间不正确。我们使用date_default_timezone_set()来自配置文件的值。

所以我尝试的是制作这个页面:

echo 'TimeZone: ' . date_default_timezone_get() . "<br>";
echo 'Date & Time: ' . date('Y-m-d H:i:s');
----------------------------------------------------------
TimeZone: America/Chicago
Date & Time: 2020-04-07 13:33:20

然而,我得到的输出是错误的,在运行时我应该得到的时间是 07:33 而不是欧洲时间的 13:33。

我认为配置或类似内容有问题,所以我也尝试在脚本之前添加默认时区,但这会返回相同的错误结果:

date_default_timezone_set('America/Chicago');
echo 'TimeZone: ' . date_default_timezone_get() . "<br>";
echo 'Date & Time: ' . date('Y-m-d H:i:s');
-------------------------------------------------------
TimeZone: America/Chicago
Date & Time: 2020-04-07 13:37:24

同样,这次时间应该是实际时区的 07:37,但是 date 函数没有返回正确的函数。

我在这里看到另一个问题,它与服务器时间有关,但它设置为与我们之前的托管公司相同,也使用 CentOS,所以这似乎不是这里的问题。

标签: phpdatedatetime

解决方案


推荐阅读