北京时间是东8区,可能是时区问题.但是此前都没问题啊,经过google发现原来从php5.1.0开始,php.ini里加入了 date.timezone这个选项,默认情况下是关闭的
问题:
php函数date(y-n-d h-i-s); 输出的时间与当地时间相差8个小时.
解决思路
北京时间是东8区,可能是时区问题.但是此前都没问题啊,经过google发现原来从php5.1.0开始,php.ini里加入了 date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时。
在调用date()函数之前先设定时区。
方法一:
date_default_timezone_set('prc');
没有返回值。下面再直接使用date函数就ok了
$time = date(y.年.m.月.d.日.g.时.i.分);
方法二:
修改php.ini中的;date.timezone = 为date.timezone = asia/shanghai(或者改为date.timezone = prc)并去掉前面的分号,重启apache即可。