php date()输出的时间慢8个小时解决方法
开发的时候是在xp上开发的,当时的开发环境是用的一个集成的软件(appserv),没有什么问题,今天我又重新配置了运行环境(windows 2000 server下),apache2,php5,mysql5都是手动安装配置的,结果程序里的时间比正常的时候慢了整整8个小时,后来一查才知道,原来是的有问题。
在php.ini 中找timezone那一项 改成date.timezone ="Etc/GMT-8"(注意去掉前面的;)然后重启web服务器就好使了。
以前也遇到过一次,记得上次一直在找apache的问题没有找到,后来才知道是php的问题。
代码:
-
<?php
-
/**
-
* 没有date_default_timezone_set('Asia/Shanghai');这句,
-
* 显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。
-
*/
-
date_default_timezone_set('Asia/Shanghai');
-
echo date("H : i : s");
-
?>
-
<?php
-
//如果php>5.1.0
-
if(phpversion()>='5.1.0')
-
{
-
//获取php当前使用时区
-
//echo date_default_timezone_get();
-
//设置时区
-
date_default_timezone_set('Asia/Shanghai');
-
}
-
echo date('Y-m-d H:i:s',time());
-
?>
-
<?php
-
//另类解决方案
-
echo date( "H : i : s",time() + 3600 * 8);
-
?>
总结:
程序设置方法:
输出时间前加上语句: 。
修改 php.ini配置文件方法:
找到 time_zone语句,去掉前面;,修改为date.timezone = "Etc/GMT-8"; 重启服务器。
阅读(861) | 评论(0) | 转发(0) |