在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");
新聞熱點
疑難解答