php.ini禁用夏令时



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

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

2016年阿塞拜疆的变化正确反映在截至发布日期2016c的Asia/Baku时区的时区数据库中。

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

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

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

此外,要认识到阿塞拜疆政府在3月17日才宣布这一改变,几乎没有时间进行实施改变。每当政府在短时间内发出通知时,就会出现像你这样的情况。如果可能的话,请向您的政府提供反馈,以便在未来发生任何其他变化时提供更多的交付周期。

同样的问题也发生在我身上:巴西在2019年停止观测夏令时,因此,我的Xampp安装在夏天开始显示错误的时间。

已修复将php.ini文件中的时区更改为从未观测到夏令时的UTC-3区域(美国/Paramaribo)或更改为在php 5.6发布之前从未观测到夏时制的UTC-33区域(美国/Bahia)的问题。

这是我唯一可能的解决方案,因为Matt Johnson Pint提到的时区b PECL包的Windows DLL与我的Xampp版本根本不兼容。

在我的情况下,作为一个快速解决方案,我刚刚将服务器时钟设置为在夏令时选项打开时显示当前时间,与去年相比没有任何变化,也没有进行文件更新等!

您可以在CentOS 中使用此方法自定义此选项

pecl install timezonedb

您应该将此行添加到php.ini 中

extension=timezonedb

最后重新启动httpd和PHP服务

相关内容

  • 没有找到相关文章

最新更新