主页 > 知识库 > 网络编程 > PHP >

PHP

PHP5设置时区方法大全

来源:互联网 作者:PHPer 发表于:2009-09-29 10:57  点击:
装上PHP5后你会发现这样的问题 $atime=date(Y-m-d H:i:s); echo $atime; ? 输出:2006-05-16 06:36:06 现在几点了?/我的是14:36 这是为什么捏? 原因是假如你不在程序或配置文件中设置你的服务器当地时区的话 PHP所取的时间是格林威治标准时间,所以和你当地

装上PHP5后你会发现这样的问题
$atime=date("Y-m-d H:i:s");
echo $atime;
?>
输出:2006-05-16 06:36:06

现在几点了?/我的是14:36
这是为什么捏?
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?

我们一起来看看解决方法:

在页头使用date_default_timezone_set()设置我的默认时区为北京时间
<?
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');
?>
时间和服务器当前时间一样了!

另外附date_default_timezone_set用法如下:

------------------------------------------------------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)

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 或 Europe/Lisbon

返回值
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。

-------------------------------------------------------------------------------------

或者修改 php.ini 中 date.timezone 值
date.timezone = PRC

    有帮助
    (13)
    68.4%
    没帮助
    (6)
    31.6%