PHP date函式時間相差8個小時解決辦法

2022-08-25 09:36:11 字數 751 閱讀 3800

php中date時間相差8個小時的解決辦法

在windows上,在預設的php配置下,date函式返回的時間值和當地時間總是相差8小時,即顯示的是格林威治時間。解決方案是正確設定php的時區環境。

php的時區環境通過一組特定的字串指定。參見php所支援的時區列表。

最省事的辦法是在php.ini檔案中找到date.timezone一行,預設情況下這一行是被注釋掉的,刪掉前面的分號即可啟用。對於中國大陸,可把它設定為etc/gmt-8(或asia/sanghaiasia/chongqingasia/urumqiprc)。

如果由於某種原因不能修改php.ini,可以在php程式裡用date_default_timezone_set()設定。例如,可以在使用date函式前先執行

date_default_timezone_set('etc/gmt-8');

複製**

我個人認為還是採用date_default_timezone_set函式比較好。一是通用性強,二來如果你的**是面向全球使用者的,這種方法可以讓每個使用者都能設定他所在的時區。

最後需要說明的是對於etc/gmt這種寫法。中國大陸採用的是東八區的時間,一般情況下都是記作+8,但php裡來了個大反個兒,要寫成etc/gmt-8;相反地,如果你的時區是西2區,在php裡就要寫成etc/gmt+2。這一點和常識不同,尤其要注意。

雙系統,Ubuntu時間不對,相差8個小時

從伺服器上同步時間 sudo ntpdate ntp.ubuntu.com sudo ntpdate time.nist.gov 設定電腦的時區為上海 sudo cp usr share zoneinfo asia shanghai etc localtime xp 和 ubuntu 相差了 8 小...

NSDate相差8個小時

直接看 有詳細的注釋可以知道具體怎麼用 objc view plain copy nsdate date nsdate date nslog date date nsdateformatter outputformatter nsdateformatter alloc init outputform...

PHP date函式常用時間處理方法

複製 如下 echo 今天 date y m d echo 昨天 date y m d strtotime 1 day echo 明天 date y m d strtotime 1 day echo 一周後 date y m d strtotime 1 week echo 一周零兩天四小時兩秒後 d...