date 和gmdate時區問題 php

2021-09-30 04:26:00 字數 516 閱讀 8062

在php時間函式中,格式化時間函式date()和gmdate():

date -- 格式化乙個本地時間/日期

gmdate -- 格式化乙個 gmt/utc 日期/時間,返回的是格林威治標準時(gmt),也就是說返回的是0時區的時間,並不是北京東八區的時間。

假設當前北京時間是2010-08-14 12:15:27

echo date('y-m-d h:i:s', time()); 輸出為:2010-08-14 12:15:27

echo gmdate('y-m-d h:i:s', time()); 輸出為:2010-08-14 04:15:27

但是這只是在linux+apache下執行php所得的結果,如果在windows下執行,則2個函式返回都是:2010-08-14 04:15:27。

所以,我們應該給乙個相容性的寫法,統一使用gmdate,寫法改進如下:

echo gmdate('y-m-d h:i:s', time() + 3600 * 8);(0時區加八個時區的時間則為北京時間)

date與gmdate的區別

php中的時間有2個格式化函式 date 和gmdate 在官方的文件中的描述為 date 格式化乙個本地時間 日期 gmdate 格式化乙個 gmt utc 日期 時間,返回的是格林威治標準時 gmt 舉個例子,我們現在所在的時區是 8,那麼伺服器執行以下指令碼返回的時間應該是這樣的 當前時間假定...

date與gmdate的區別

php中的時間有2個格式化函式 date 和gmdate 在官方的文件中的描述為 date 格式化乙個本地時間 日期 gmdate 格式化乙個 gmt utc 日期 時間,返回的是格林威治標準時 gmt 舉個例子,我們現在所在的時區是 8,那麼伺服器執行以下指令碼返回的時間應該是這樣的 當前時間假定...

PHP基礎學習之date與gmdate的區別

php中的時間有2個格式化函式 date 和gmdate 在官方的文件中的描述為 date 格式化乙個本地時間 日期 gmdate 格式化乙個 gmt utc 日期 時間,返回的是格林威治標準時 gmt 舉個例子,我們現在所在的時區是 8,那麼伺服器執行以下指令碼返回的時間應該是這樣的 當前時間假定...