自学内容网 自学内容网

关于php Datetime 时区转换因为timezone_version(时区版本)问题造成的时区转换问题

起因:
有客户反馈,日程行程 显示巴西利亚 的时间显示有问题.
这里应该是差11个小时,可是这边却不是这样的
测试后,发现.
同样是utc-3的2个时区,但是圣保罗的这个时区,是有问题.他是utc-2
同样是utc-3的2个时区,其中圣保罗是有问题(途中圣保罗的时间有问题变成了utc-2),
后面经过后续测试发现这个和php的版本有关,php7.4的版本时间版本是2个地区是一样的,但是7.2的版本是上图这样的(时间偏移量,2个时区不一样).
后续又去看了官方关于timezone_version_get的说明,
timezone_version_get说明截取
官方给出了建议,可以通过升级php版本和安装timezonedb pecl最新的包来解决这个问题.
后续,用phpize安装了最新的timezonedb ,解决了问题

#下载timezonedb,下载地址:http://pecl.php.net/get/timezonedb
wget http://pecl.php.net/get/timezonedb
tar -xf timezonedb
cd timezonedb-2024.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
vi /usr/local/php/etc/php.ini
#添加:extension=timezonedb.so

安装后,再次测试,发现时区偏移量正常了.时区版本库也更新到了2024.2的版本
更新timezonedb后的显示


原文地址:https://blog.csdn.net/wuqing2012mxd/article/details/143787482

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!