php.ini 禁用夏令时

php.ini disable daylight saving

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

echo date('Y-m-d H:i:s');

阿塞拜疆 2016 年的变化正确反映在 the time zone database for the Asia/Baku time zone as of release 2016c

PHP 从 timezonedb PECL package 获取其时区信息。包含阿塞拜疆更改的 2016c tz 数据在 timezonedb 版本 2016.3 中。

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

There's a good article here 描述了如何安装 timezonedb PECL 包。安装最新版本后,您应该会看到代码显示正确的时间。

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

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

问题已修复,将 php.ini 文件中的时区更改为从未遵守 DST (America/Paramaribo) 的 UTC-3 区域或在 PHP 5.6 发布 (America/Bahia) 之前未观察到 DST 的 UTC-3 区域。

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