php date與gmdate的獲取日期的區(qū)別
更新時間:2010年02月08日 08:41:45 作者:
PHP中的時間有2個格式化函數(shù):date()和gmdate(),在官方的文檔中的描述為
date -- 格式化一個本地時間/日期
gmdate -- 格式化一個 GMT/UTC 日期/時間,返回的是格林威治標準時(GMT)。
舉個例子,我們現(xiàn)在所在的時區(qū)是+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所得的結(jié)果,如果在Windows下運行,則2個函數(shù)返回都是:2007-03-14 04:15:27。
所以,我們應該給一個兼容性的寫法,統(tǒng)一使用gmdate,并手工設置當前時區(qū),寫法改進如下:
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);
這樣不管在Linux+Apache下還是Windows下都得到了正確的結(jié)果,當然這樣寫還有一個好處,當網(wǎng)站是面向全世界的時候,那么網(wǎng)站用戶只要設置所在的時區(qū),程序自動根據(jù)用戶設置的時區(qū)進行時間計算,數(shù)據(jù)庫中信息發(fā)布時間只存當前的time()所生成的時間,那么在中國+8時區(qū)看到的發(fā)布時間是:2007-03-14 12:15:27,那么在歐洲+2時區(qū)用戶看到這個信息的發(fā)布時間是:2007-03-14 06:15:27,這樣信息的時間就全部對應正確了。
gmdate -- 格式化一個 GMT/UTC 日期/時間,返回的是格林威治標準時(GMT)。
舉個例子,我們現(xiàn)在所在的時區(qū)是+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所得的結(jié)果,如果在Windows下運行,則2個函數(shù)返回都是:2007-03-14 04:15:27。
所以,我們應該給一個兼容性的寫法,統(tǒng)一使用gmdate,并手工設置當前時區(qū),寫法改進如下:
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);
這樣不管在Linux+Apache下還是Windows下都得到了正確的結(jié)果,當然這樣寫還有一個好處,當網(wǎng)站是面向全世界的時候,那么網(wǎng)站用戶只要設置所在的時區(qū),程序自動根據(jù)用戶設置的時區(qū)進行時間計算,數(shù)據(jù)庫中信息發(fā)布時間只存當前的time()所生成的時間,那么在中國+8時區(qū)看到的發(fā)布時間是:2007-03-14 12:15:27,那么在歐洲+2時區(qū)用戶看到這個信息的發(fā)布時間是:2007-03-14 06:15:27,這樣信息的時間就全部對應正確了。
您可能感興趣的文章:
- PHP下獲取上個月、下個月、本月的日期(strtotime,date)
- 用php獲取本周,上周,本月,上月,本季度日期的代碼
- PHP使用strtotime獲取上個月、下個月、本月的日期
- PHP獲取當前日期所在星期(月份)的開始日期與結(jié)束日期(實現(xiàn)代碼)
- php獲取本周星期一具體日期的方法
- php獲取指定日期之間的各個周和月的起止時間
- PHP獲取昨天、今天及明天日期的方法
- PHP獲取一年中每個星期的開始和結(jié)束日期的方法
- php獲取本周開始日期和結(jié)束日期的方法
- PHP獲取一年有幾周以及每周開始日期和結(jié)束日期
- php根據(jù)日期或時間戳獲取星座信息和生肖等信息
- php獲取開始與結(jié)束日期之間所有日期的方法
相關(guān)文章
30 個很棒的PHP開源CMS內(nèi)容管理系統(tǒng)小結(jié)
本文匯集了30個優(yōu)秀的開源CMS建站系統(tǒng),采用PHP開發(fā)。以下列表不分先后順序2011-10-10
PHP中關(guān)鍵字interface和implements詳解
PHP 類是單繼承,也就是不支持多繼承,當一個類需要多個類的功能時,繼承就無能為力了,為此 PHP 引入了類的接口技術(shù)。下面這篇文章主要跟大家介紹了關(guān)于PHP中關(guān)鍵字interface和implements的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-06-06
thinkphp jquery實現(xiàn)圖片上傳和預覽效果
這篇文章主要為大家詳細介紹了thinkphp上傳圖片功能,和jquery預覽圖片效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
php strlen mb_strlen計算中英文混排字符串長度
在php中常見的計算字符串長度的函數(shù)有:strlen和mb_strlen,下面是對這兩個函數(shù)的比較說明(編碼方式UTF8)2009-07-07
深思 PHP 數(shù)組遍歷的差異(array_diff 的實現(xiàn))
還是部門無聊的考題,不過這次考的是 PHP 的能力。題目如下: 給你兩個分別有 5000 個元素的數(shù)組,計算他們的差集 -- 說白了也就是用 PHP 和你認為最好的算法實現(xiàn) array_diff 的算法。初次接到這個題目,我發(fā)現(xiàn)這非常的簡單,于是按照以往的經(jīng)驗“隨便”寫了一個:2008-03-03
『PHP』PHP截斷函數(shù)mb_substr()使用介紹
截斷文章標題,控制在15個文字,接下來為大家講解下如何實現(xiàn)這個需求,感興趣的朋友可以參考下哈2013-04-04

