php中date函数的时区输出时间有误

在php中如果我们不作任何设置一般情况下利用date输出时间是会有误差的,而且很大,问题:echo date('o-m-j H:i');

  1. <?php
  2. echo date(’Y-m-d H:i:s’);
  3. ?

输出当前时间:2008-10-12 02:32:17,怪了,实际时间是:2008-10-12 10:32:17,输出结果与本地时间相差8小时,原因:时区未正确设置。

两种解决方法:

1.加入date_default_timezone_set('Asia/Shanghai');

2. 修改php.ini

  1. [Date]
  2. ; Defines the default timezone used by the date functions
  3. date.timezone = PRC

如果没有修改php.ini的权限,那么应该在调用date()方法之前加上

date_default_timezone_set(‘PRC’);