帮助中心

服务器PHP输出时间与系统时间不一致,差8小时解决办法

发布时间:2022-11-02 22:37:52

一、原因

从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间
和我们的时间(北京时间)差了正好8个小时。

二、解决办法

方法一:在获取时间前加如下代码:
date_default_timezone_set(PRC);

方法二:改php.ini里面的配制,具体操作如下:
打开php.ini查找date.timezone 去掉前面的分号= 后面加XXX(PRC),重启http服务(如apache2或iis等)即可
如:date.timezone=PRC

关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民共和国)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
其它:Etc/GMT-8 ,Singapore ,Hongkong


G8D}LTO2S1O7~${(@$OLN4X.png

在这里我们把PHP时间设置成重庆的可用值, 这样时间正确了