今天在寫一個東西時,發現時間一直對不上,date("Y-m-d h:i:s") 老是與服務器時間差幾個小時.
原來從php5.1.0開始,php.ini里加入了date.timezone這個選項,默認狀況下是關閉的
也就是顯示的時間(不管用什麼php命令)都是格林威治標準時間
和咱們的時間(北京時間)差了正好8個小時解決方式:
1、在頁頭使用date_default_timezone_set()設置個人默認時區爲北京時間
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');
時間和服務器當前時間同樣了!!
2、修改php.ini。
打開php5.ini查找date.timezone 去掉前面的分號 = 後面加XXX,重啓http服務(如apache2或iis等)便可。
關於XXX,大陸內地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次爲重慶,上海,烏魯木齊)港臺地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次爲澳門,香港,臺北)
還有新加坡:Asia/Singapore
老外好像把北京漏調了
其餘可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
PRC是什麼?PRC是中華人民共和國啊-_-
以上都是從php官方說明檔裏整理出來的GMT+8下面的地區,可能會有遺漏。