PHP——获取当前日期时间错误解决方案(PHP当前时区设置)
問題描述
通過date()函數獲取時間后,你會發現小時時間不對,比現在的時間小8個小時,無論用H,還是用h都一樣。
問題分析
PHP默認的時區是UTC(格林威治時間),應該將其時區設置為PRC(北京時間)。
格林威治時間與北京時間相差8小時。
解決方案
1、修改php.ini配置文件
打開php.ini文件,一般在php配置根目錄下,找到其中的 ;date.timezone,刪掉前面的分號,并改為date timezone = PRC。
如果找不到php.ini文件,可以編寫
<?php phpinfo()?>查看?php.ini?文件位置
保存,重啟Apahce服務即可(有時用restart會有問題,先stop然后start就行了)。
2、加上date_default_timezone_set(timezone_identifier)函數
這個函數的意思是,設置當前時區,對時間進行初始化,在頁頭或獲取時間語句前加上這句話。
例如:
<?php 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
參考文章
https://www.cnblogs.com/gpengf/p/5057690.html
https://blog.csdn.net/u012124764/article/details/51450958
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的PHP——获取当前日期时间错误解决方案(PHP当前时区设置)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: PyCharm——turtle库的画布悬
- 下一篇: Liunx——校准时间、时间同步(ntp
