现有如下一段代码:
$atime=date("Y-m-d H:i:s");
echo $atime;
输出:2010-02-03 06:36:06
现在几点了?我的电脑时间为14:36,这是为什么呢?
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话,PHP所取的时间是格林威治标准时间,所以当地的时间和格林威治标准时间大概差8个小时左右,那么我们如何避免时间误差呢?
我们一起来看看解决方法:
在页头使用date_default_timezone_set()设置我的默认时区为上海时间
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');
时间和服务器当前时间一样了!
另外附date_default_timezone_set用法如下:
————————————————————————————
date_default_timezone_set
格式: bool date_default_timezone_set ( string timezone_identifier )
说明: date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
(注自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息.)
参数: timezone_identifier为时区标识符,例如 UTC 或 Asia/Shanghai
返回值:本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC
如果需要取得一个脚本中所有日期时间函数所使用的默认时区,采用:date_default_timezone_get(),返回值为一个字符串.
No related posts.