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

2021-06-07 06:53:49 字數 771 閱讀 6963

php中的時間有2個格式化函式:date()和gmdate(),在官方的文件中的描述為:

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

gmdate -- 格式化乙個 gmt/utc 日期/時間,返回的是格林威治標準時(gmt)。

舉個例子,我們現在所在的時區是+8,那麼伺服器執行以下指令碼返回的時間應該是這樣的:

當前時間假定是2007-03-14 12:15:27

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

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

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

所以,我們應該給乙個相容性的寫法,統一使用gmdate,並手工設定當前時區,寫法改進如下:

echo gmdate('y-m-d h:i:s', time() + 3600 * 8);

這樣不管在linux+apache下還是windows下都得到了正確的結果,當然這樣寫還有乙個好處,當**是面向全世界的時候,那麼**使用者只要設定所在的時區,程式自動根據使用者設定的時區進行時間計算,資料庫中資訊發布時間只存當前的time()所生成的時間,那麼在中國+8時區看到的發布時間是:2007-03-14 12:15:27,那麼在歐洲+2時區使用者看到這個資訊的發布時間是:2007-03-14 06:15:27,這樣資訊的時間就全部對應正確了。

js 基礎之Date物件

在js中是通過 date物件來獲取當前時間的 例如 var nowtime new date 具體的一些方法是 所有的set對應都有get系列 具體在 具體用法如下 var date new date nowyear date.getfullyear nowmonth date.getmonth 1...

PHP基礎之POST與GET

post 與 get區別 重點 post傳輸資料時,不需要在url中顯示出來,而get方法要在url中顯示。post傳輸的資料量大,可以達到2m,而get方法由於受到url長度的限制,只能傳遞大約1024位元組.post顧名思義,就是為了將資料傳送到伺服器段,get就是為了從伺服器段取得資料。而ge...

PHP基礎學習之檔案操作。

php支援檔案的各種處理方式,包括開啟關閉 拷貝 讀取,簡單介紹如下 fopen 開啟檔案 fclose 關閉檔案 fgets 從檔案指標讀取一行資料,讀取到回車算一行。fread 以二進位制方式讀取檔案,讀取指定長度 file 讀取整個檔案的內容存放在陣列,每一行佔陣列乙個值 aaa file u...