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 函数来设置时区,代码如下:
- <?php
- date_default_timezone_set("Asia/Shanghain"); //设置时区为上海
- ?>
或者设置东京的时区代码为:
- <?php
- date_default_timezone_set("Asia/Tokyo");
- ?>
系统初始化时,加上
- ini_set('date.timezone','Asia/Shanghai');
- //或
- date_default_timezone_set("PRC");
就将解决时区相差8小时的问题,还有如果你有php.ini管理权限可直接在php.ini中修改.
手动修改php.ini设置:打开php找到date.timezone = "PRC" 如有去掉前面的分号,没有的话手动添加,装上PHP5后你会发现这样的问题,代码如下
- <?php
- $atime=date("Y-m-d H:i:s");
- echo $atime;
- ?>
- <?php
- $atime=date("Y-m-d H:i:s");
- echo $atime;
- ?>
你也许会发现,输出的时间和你现在的时间是不相同的,原因是假如你不在程序或配置文件中设置你的服务器当地时区的话,PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入。
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?我们一起来看看解决方法,在页头使用date_default_timezone_set()设置我的默认时区为北京时间,代码如下:
- <?
- date_default_timezone_set('PRC');
- echo date('Y-m-d H:i:s');
- ?>
时间和服务器当前时间一样了,如果发生插入数据库错误的话,请确保 date('Y-m-d H:i:s') 中的 H 为大写。