本篇內(nèi)容主要講解“PHP通過date()函數(shù)取得時間錯誤的問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP通過date()函數(shù)取得時間錯誤的問題怎么解決”吧!
直入主題,通過date()函數(shù)獲取時間后,你會發(fā)現(xiàn)小時時間不對,比現(xiàn)在的時間小8個小時,無論用H,還是用h都一樣,這個是因?yàn)楫?dāng)前獲取的是格林威治時間,與北京時間相差8小時。
解決方法如下:
1、修改php.ini配置文件
打開php.ini文件,一般在php配置根目錄下,找到其中的 ;date.timezone,刪掉前面的分號,并改為date
timezone = PRC。保存,重啟Apahce服務(wù)即可(有時用restart會有問題,先stop然后start就行了)。
2、加上date_default_timezone_set(timezone_identifier)函數(shù)
這個函數(shù)的意思是,設(shè)置當(dāng)前時區(qū),對時間進(jìn)行初始化,在頁頭或獲取時間語句前加上這句話。
例如:
date_default_timezone_set(PRC);
echo date("Y-m-d H-i-s");
參數(shù)如下設(shè)置:
date_default_timezone_set(PRC) –設(shè)置為北京時間,PRC代表中華人民共和國
date_default_timezone_set(‘Asia/Shanghai’) –設(shè)置為上海時間,大陸可用的還有‘Chongqi’(重慶)、‘Urumqi’(烏魯木齊)同樣可以的
港臺地區(qū)可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei
(依次為澳門,香港,臺北)
新加坡地區(qū):Asia/Singapore
此函數(shù)永遠(yuǎn)會返回True,但一定要輸入timezone_identifier,不然會報(bào)錯。
下面是所有的時區(qū)標(biāo)識符:(供大家參考)
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通過date()函數(shù)取得時間錯誤的問題怎么解決”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!