參考自:
date(『y-m-d h:i:s』)
結果取出來顯示的時間總是於本地時間相差8個小時,我的本機是中國標準時間(gtm+8),問題應該是date()取的時間是格林威治時間,那應該怎麼配置一下php伺服器呢?
下面是我在網上找到的解決方法
問題原因所在
從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的
也就是顯示的時間(無論用什麼php命令)都是格林威治標準時間
和我們的時間(北京時間)差了正好8個小時。
有以下3中方法可以恢復正常的時間。
1、最簡單的方法就是不要用php5.1以上的版本
2、如果一定要用,而且不能修改php.ini,則需要在關於時間的初始化的語句的
上面加上 date_default_timezone_set (『***』);
3、一勞永逸,僅限能修改php.ini。開啟php.ini查詢date.timezone去掉前面的分號
date.timezone = prc,重啟http服務(如apache2或iis等)即可
【相關註解:】↓
關於***,大陸內地可用的值是:asia/chongqing ,asia/shanghai ,asia/urumqi (依次為重慶,上海,烏魯木齊)
港台地區可用:asia/macao ,asia/hong_kong ,asia/****ei (依次為澳門,香港,台北)
還有新加坡:asia/singapore
老外好像把北京漏調了
其他可用的值是:etc/gmt-8 ,singapore ,hongkong ,prc
prc是什麼?prc是中華人民共和國啊-_-
你可以到上查到更多的地區
由於程式最後還是會把地名轉為時區來計算,所以當你使用的不是內建的區域的時候,程式將自動使用格林威治標準時間。
請注意
如果沒有修改php.ini的許可權,那麼應該在呼叫date()方法之前加上date_default_timezone_set(『prc』);
如果修改了就不要在加了
引數要加上雙引號或單引號
echo
"當前的時間為:".date("h:i:s",mktime(date_default_timezone_set("prc")))."";
修改php.ini時,
date.timezone =prc
後面的引數不需要使用引號 php 時間差8小時
前幾天發現乙個問題 date y m d g i t time 取出來的時間和本地時間老差8個小時,可我的系統明明是中國標準時 gmt 8 最後終於找到了問題所在 原來從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的 也就是顯示的時間 無論用什麼p...
linux win雙系統時間差8小時解決方法。
前一段時間剛裝了centos 5.4和win7的雙系統。發現win7的系統時間不對,機子沒上網,每天開機時,總會慢8小時,不知道怎麼回事,因為忙別的事情,所以過了那幾天才找原因,後來發現 windows time服務沒有自動,所以想當然認為是這個原因。用了幾次也沒發現什麼異常,因為今天開機時候沒插網...
php中時間差8小時的幾種解決辦法
從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的,也就是顯示的時間 無論用什麼php命令 都是格林威治標準時間,和我們的時間 北京時間 差了正好8個小時,所以就出現了date y m d g i t time 取出來的時間和本地時間老差8個小時的情...