需要修改PHP的配置文件。从PHP5.1.0开始,配置文件里加入了date.timezone 这个选项,默认情况下是关闭的,也就是显示的时间都是格林威治标准时间。而中国是GMT+8,所以没有设置的话显示的时间会少8个小时。

要想正常显示的话,需要修改php.ini,查找date.timezone,去掉前面的分号
= 后面加XXX,重启http服务(如Apache或IIS等)即可。
关于XXX,大陆内地可用的值是:Asia/Shanghai ,Asia/Chongqing ,Asia/Urumqi (依次为上海,重庆,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
比如:date.timezone = Asia/Shanghai
更多信息可以参考:http://php.net/date.timezone

还有第二种方法,使用date_default_timezone_set():
在页头使用date_default_timezone_set()设置默认时区为北京时间
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');

已赞 3 0 评论