PHP / Linux时间问题

问题描述 投票:1回答:1

如果我在本地服务器上运行此代码:

date_default_timezone_set('America/Los_Angeles');
echo date('Y-m-d H:i:s');

然后我得到了正确的时间。但是,如果我在客户端的开发服务器上运行它,那么它会提前一小时显示。这就像我的客户服务器认为它是在标准时间而不是夏令时。

可能导致此问题的原因是什么?

编辑:

zdump -v America/Los_Angeles | grep 2018的输出是:

America/Los_Angeles  Sun Mar 11 09:59:59 2018 UTC = Sun Mar 11 01:59:59 2018 PST isdst=0 gmtoff=-28800
America/Los_Angeles  Sun Mar 11 10:00:00 2018 UTC = Sun Mar 11 03:00:00 2018 PDT isdst=1 gmtoff=-25200
America/Los_Angeles  Sun Nov  4 08:59:59 2018 UTC = Sun Nov  4 01:59:59 2018 PDT isdst=1 gmtoff=-25200
America/Los_Angeles  Sun Nov  4 09:00:00 2018 UTC = Sun Nov  4 01:00:00 2018 PST isdst=0 gmtoff=-28800
php linux datetime dst
1个回答
3
投票

您可能需要检查操作系统本身的时间设置。

This website提供以下提示:

请记住,首先PHP从操作系统中获取时间。您必须正确设置操作系统的时间,时区和DST设置,否则无论您在脚本中执行何种计算,PHP都不会显示正确的时间。

© www.soinside.com 2019 - 2024. All rights reserved.