PHP伺服器時間差8小時解決方案

2021-07-28 19:22:36 字數 1376 閱讀 2041

參考自:

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個小時的情...