php设置时区方法介绍

php默认时区是欧美国家的所以与我们中国时区相差了整整8小时,下面我来给各位介绍php设置时区方法。

在 php.ini 中,默认是 date.timezone = UTC,修改为中国时区,修改为 date.timezone = PRC,如果直接写 GMT 格式的,是 date.timezone = Etc/GMT+8。

另外,也可以在 PHP 页面头中设置,代码如下:date_default_timezone_set('PRC');

在PHP5中,有很多方法可以设置或者获取默认的时区设置,例如使用 date_default_timezone_setl 函数来设置时区,代码如下:

  1. <?php
  2. date_default_timezone_set("Asia/Shanghain"); //设置时区为上海
  3. ?>

或者设置东京的时区代码为:

  1. <?php
  2. date_default_timezone_set("Asia/Tokyo");
  3. ?>

系统初始化时,加上

  1. ini_set('date.timezone','Asia/Shanghai');
  2. //或
  3. date_default_timezone_set("PRC");

就将解决时区相差8小时的问题,还有如果你有php.ini管理权限可直接在php.ini中修改.

手动修改php.ini设置:打开php找到date.timezone = "PRC" 如有去掉前面的分号,没有的话手动添加,装上PHP5后你会发现这样的问题,代码如下

  1. <?php
  2. $atime=date("Y-m-d H:i:s");
  3. echo $atime;
  4. ?>
  5. <?php
  6. $atime=date("Y-m-d H:i:s");
  7. echo $atime;
  8. ?>

你也许会发现,输出的时间和你现在的时间是不相同的,原因是假如你不在程序或配置文件中设置你的服务器当地时区的话,PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入。

格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?我们一起来看看解决方法,在页头使用date_default_timezone_set()设置我的默认时区为北京时间,代码如下:

  1. <?
  2. date_default_timezone_set('PRC');
  3. echo date('Y-m-d H:i:s');
  4. ?>

时间和服务器当前时间一样了,如果发生插入数据库错误的话,请确保 date('Y-m-d H:i:s') 中的 H 为大写。