获取系统时间时,发现获取的时间与系统的时间不符。
今天用echo date("Y-m-d H:i:s")获取系统时间时,发现获取的时间与系统的时间不符。
php是外国人开发的,所以经常有很多东西不太好用。研究了一番发现,PHP默认设置的时间是以格林威治时区为标准的,表现是和北京时间差8个小时,因此我们需要将其+8个小时,原理是我们正好位于时区的东8区,所以我们必须把PHP的时区设定改为北京时间。
操作方法:
打开php.ini文件,一般在PHP的安装根目录下
找到其中的;date.timezone
删掉date.timezone前面的分号,并改成date.timezone = PRC
存盘,并重新启动Apahce服务(有时用Apache的restart功能会有问题,建议先stop然后再start)
重新检验一下echo date("Y-m-d H:i:s")。
是不是时间恢复正常了
如果无法改动php.ini文件,也可以在输出时间之前使用date_default_timezone_set()设置时区
date_default_timezone_set('Asia/Shanghai');
函数 date_default_timezone_set(timezone)与date_default_timezone_get()的参数有效的时区:http://www.php.net/manual/en/timezones.php