首頁  >  文章  >  後端開發  >  php date函數格式化錯誤怎麼辦

php date函數格式化錯誤怎麼辦

藏色散人
藏色散人原創
2021-07-02 09:31:372206瀏覽

php date函數格式化錯誤的解決方法:1、修改php.ini設定檔;2、加上「date_default_timezone_set(timezone_identifier)」函數。

php date函數格式化錯誤怎麼辦

本文操作環境: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中文網其他相關文章!

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