首頁 >後端開發 >php教程 >php5中date()得出的時間為什麼不是當前時間的解決方法

php5中date()得出的時間為什麼不是當前時間的解決方法

PHPz
PHPz原創
2016-07-29 08:38:241114瀏覽

從php5.10開始,php中加入了時區的設置,在php中顯示的時間都是格林威治標準時間,這就造成了我們 中國的用戶會差八個小時的問題! 【推薦教學:php入門教學

相關設定是修改php.ini中的date.timezone 參數:

[Date]
; Defines the default timezone used by the date functions
;date.timezone =

預設是關閉的,只需把註解去掉,改為即可

[Date]
; Defines the default timezone used by the date functions
date.timezone = PRC

其中PRC是「中華人民共和國」!

其他選項可以參考php手冊。

不過這上面的亞洲地區漏掉了我們的首都北京,不知道老外是不是故意的!

如果沒有修改php.ini的權限,只需要在呼叫時間日期函數的時候,呼叫 date_default_timezone_set('

PRC') 即可!

也可以呼叫date_default_timezone_get()來查看目前的時區設定!

關於XXX,大陸內地可用的值是:

Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依序為重慶,上海,烏魯木齊)

港台地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依序為澳門,香港,台北)

台灣地區可設為:date.timezone = "Asia//Taipei"

還有新加坡:Asia/Singapore

PHP5中的時間相差八小時的解決方法

安裝好php5後,在論壇不經意間,在論壇上看到有人說php5.1.2的時間顯示整整少8小時,

<?php
echo date("Y-m-d H:i:s");
?>

結果自己測試果然相差8小時。

後來經過在論壇上找資料,結果終於解決,在php5以及起以上的版本,要輸出本地的時間(限中國)

,可以這麼寫程式碼:

<?php
date_default_timezone_set(&#39;Asia/Shanghai&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
?>

也可以這樣寫程式碼:

<?php
date_default_timezone_set(&#39;Asia/Chongqing&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
?>

這樣時間相差八小時的問題就解決了! ! ~~~


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn