php.ini禁用夏令时

时间:2016-03-27 16:18:34

标签: php timezone dst php-ini

我们的国家停止了夏令时。现在时间是20:16 但在PHP上,时间是21:16。 有没有办法禁用夏令时? 我的代码是:

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

2 个答案:

答案 0 :(得分:2)

the time zone database开始,Asia/Baku时区的release 2016c正确反映了2016年阿塞拜疆的变化。

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,几乎没有时间进行实施变更。每当政府提供短促通知时,您的情况必然会出现。如果可能的话,请向您的政府提供反馈,以便在将来发生任何其他变更时提供更长的准备时间。

答案 1 :(得分:0)

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

问题已解决,将 php.ini 文件中的时区更改为从未观察到DST的UTC-3区域(美国/帕拉马里博,美国/卡宴)或UTC-3区域在PHP 5.6之前(美国/巴伊亚州,美国/布宜诺斯艾利斯)未观察到DST。

对我来说,这是唯一可行的解​​决方案,因为Matt Johnson-Pint引用的timezonedb PECL package的Windows DLL与我的Xampp版本根本不兼容。