php时间戳存在8小时误差

来源:互联网 发布:整容软件 编辑:程序博客网 时间:2024/05/19 20:21
当将PHP时间戳转化为正常的时间格式一般的操作方法如下:
$mytime=time();
echo $mytime.'<br />';
echo date('Y-m-d H:i:s',$mytime);
这样做的后果就是前后相差了8个小时,主要原因是php5.1以上时间戳会与实际时间相差8小时。

解决办法如下:
1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!!

2、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序放到别人的服务器上,不能修改php.ini,那就奈何不得了。

3、在程序中添加时间的初始化的语句的即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore

这样就可以实现输出的是北京时间了。
0 0