php时区设置方法总结

在php中默认时区与中国相关8小时了,下面我来给大家介绍在于linux中与windows系统解决php时差8小时的方法,希望对各位同学有帮助.

大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi,依次为重庆,上海,乌鲁木齐,港台地区可用:Asia/Macao,Asia/Hong_Kong,Asia/Taipei,依次为澳门,香港,台北.

还有新加坡:Asia/Singapore

其他可用的值是:Etc/GMT-8,Singapore,Hongkong,PRC.

一,Linux设置时区,以CentOS5.5为例,代码如下:

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

MySQL中设置时区,编辑MySQL配置文件:my.cnf/my.ini,在[mysqld]下加上如下代码:

default-time-zone = '+8:00'

实际上,如果MySQL所在OS的时区已经设置正确,则可以不用在MySQL中设置时区,因为MySQL服务启动的时候,会自动采用OS的时区.

PHP中设置时区,在PHP配置文件PHP.ini中设置如下代码:

date.timezone = "Asia/Shanghai"

设置好后,最好重启下系统,如果是购买的Web空间,没有权限在Linux PHP MySQL中配置时区,那也好办,只需要在PHP脚本中设置和OS对应的时区,因为MySQL中默认使用的是OS的时区,假设OS的时区是'Asia/Shanghai',使用下面两条语句其中之一即可,代码如下:

ini_set('date.timezone', 'Asia/Shanghai');

date_default_timezone_set('Asia/Shanghai');

二,windows中我们要在PHP.INI中设置时区,代码如下:

date.timezone = PRC

在代码中设置时区,如下:

1 date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海

2 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”

3 date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”

4 ini_set('date.timezone','Etc/GMT-8');

5 ini_set('date.timezone','PRC');

6 ini_set('date.timezone','Asia/Shanghai');

7 ini_set('date.timezone','Asia/Chongqing');

以上七种方法,任意一个都可以满足我们需求,系统初始化时,加上如下代码:

ini_set('date.timezone','Asia/Shanghai');

或 date_default_timezone_set("PRC");