php.ini 禁用夏令时

问题描述 投票:0回答:3

我国停止夏令时。现在时间是20:16 但是在 PHP 上时间是 21:16。 有什么方法可以禁用夏令时吗? 我的代码是:

echo date('Y-m-d H:i:s');
php timezone dst php-ini
3个回答
2
投票

阿塞拜疆 2016 年的变化正确反映在 the time zone database for the

Asia/Baku
time zone as release 2016c.

PHP 从 timezonedb PECL 包中获取时区信息。 2016c tz 数据,包括阿塞拜疆的变化,在 timezonedb 版本 2016.3 中。

每个版本的 PHP 都包含这个的嵌入式副本,但有时需要手动安装它,因为版本不一定一致。在这种情况下,最新版本的 PHP 是在 3 月 3 日发布的,而你需要的 timezonedb 版本是在 3 月 24 日发布的。

这里有一篇很好的文章 描述了如何准确安装 timezonedb PECL 包。安装最新版本后,您应该会看到代码显示正确的时间。

另外,认识到阿塞拜疆政府只在 3 月 17 日 宣布了变化,几乎没有时间实施变化。每当政府发出临时通知时,像您这样的情况就必然会出现。如果可能的话,请向您的政府提供反馈,以便在未来发生任何其他变化时提供更多的准备时间。


1
投票

同样的问题发生在我身上:巴西在 2019 年停止遵守夏令时,结果,我的 Xampp 安装在夏天开始显示错误的时间。

问题已修复,将 php.ini 文件中的时区更改为从未观察到 DST 的 UTC-3 区域(美国/帕拉马里博)或更改为在 PHP 5.6 发布之前未观察到 DST 的 UTC-3 区域(美国/巴伊亚)。

这对我来说是唯一可能的解决方案,因为由 Matt Johnson-Pint 推荐的 timezonedb PECL 包 的 Windows DLL 与我的 Xampp 版本完全不兼容。


0
投票

在我的例子中,作为一个快速的解决方案,我只是将服务器时钟设置为在夏令时选项打开时显示当前时间,就像与去年相比没有任何变化并且没有文件更新等完成!

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