在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
2. MySQL中設置時區
編輯MySQL配置文件:my.cnf/my.ini,在[mysqld]下加上:
代碼如下 復制代碼default-time-zone = '+8:00'
實際上,如果MySQL所在OS的時區已經設置正確,則可以不用在MySQL中設置時區,因為MySQL服務啟動的時候,會自動采用OS的時區。
3. 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為“中華人民共和國”
4i ni_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");
就將解決時區相差8