php date函數格式化錯誤的解決方法:1、修改php.ini設定檔;2、加上「date_default_timezone_set(timezone_identifier)」函數。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
php date函數格式化錯誤怎麼辦? date()函數取得時間錯誤?
透過date()函數取得時間後,你會發現小時時間不對,比現在的時間小8個小時,無論用H,還是用h都一樣,這個是因為目前取得的是格林威治時間,與北京時間相差8小時。
解決方法如下:
1、修改php.ini設定檔
開啟php.ini文件,一般在php設定根目錄下,找到其中的;date.timezone,刪除前面的分號,並改為date timezone = PRC。儲存,重啟Apahce服務即可(有時用restart會有問題,先stop然後start就行了)。
2、加上date_default_timezone_set(timezone_identifier)函數
這個函數的意思是,設定目前時區,對時間進行初始化,在頁頭或取得時間語句前加上這句話。
例如:
date_default_timezone_set(PRC); echo date("Y-m-d H-i-s");
參數如下設定:
date_default_timezone_set(PRC) –設定為北京時間,PRC代表中華人民共和國
date_default_timezone_set('Asia /Shanghai') –設定為上海時間,大陸可用的還有'Chongqi'(重慶)、'Urumqi'(烏魯木齊)同樣可以的
港台地區可用:Asia/Macao ,Asia/Hong_Kong , Asia/Taipei(依序為澳門,香港,台北)
新加坡地區:Asia/Singapore (好像就是沒看到北京的)
此函數永遠會回到True,但一定要輸入timezone_identifier,不然會報錯誤。
以下是所有的時區識別碼:(供大家參考)
CET CST6CDT Cuba EET Egypt Eire EST EST5EDT Etc/GMT Etc/GMT+0 Etc/GMT+1 Etc/GMT+10 Etc/GMT+11 Etc/GMT+12 Etc/GMT+2 Etc/GMT+3 Etc/GMT+4 Etc/GMT+5 Etc/GMT+6 Etc/GMT+7 Etc/GMT+8 Etc/GMT+9 Etc/GMT-0 Etc/GMT-1 Etc/GMT-10 Etc/GMT-11 Etc/GMT-12 Etc/GMT-13 Etc/GMT-14 Etc/GMT-2 Etc/GMT-3 Etc/GMT-4 Etc/GMT-5 Etc/GMT-6 Etc/GMT-7 Etc/GMT-8 Etc/GMT-9 Etc/GMT0 Etc/Greenwich Etc/UCT Etc/Universal Etc/UTC Etc/Zulu Factory GB GB-Eire GMT GMT+0 GMT-0 GMT0 Greenwich Hongkong HST Iceland Iran Israel Jamaica Japan Kwajalein Libya MET MST MST7MDT Navajo NZ NZ-CHAT Poland Portugal PRC PST8PDT ROC ROK Singapore Turkey UCT Universal UTC W-SU WET
推薦學習:《PHP影片教學》
以上是php date函數格式化錯誤怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!