background image

装上

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