程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中如何處理時區

PHP中如何處理時區

編輯:PHP綜合

默認安裝的LAMP環境中,時區默認設置在GMT時間,所以一般得到的時間都會比我們電腦中顯示的時間早八個小時(假設你的時間設置正確,並且時區是在東八區)。PHP提供了兩個函數用來處理時區的操作:

date_default_timezone_set() 和 date_default_timezone_get()

如果我們希望更改服務器默認的時區,修改 php.ini 文件中的 ;date.timezone = ,添加自己需要的時區,例如 date.timezone = Asia/Chongqing,然後重啟服務器就可以了。PHP支持的 timezone 的字符串在參考資料[1]中可以看到。

用下面這一段代碼,可以比較清楚的看到時區變化的影響:

$now = time();
echo "The GMT now is : " . date('Y-m-d H:i:s', now()) . '<br />' ;
echo "The local time is : " . date('Y-m-d H:i:s', gmt_to_local($now) ) . '<br />';
date_default_timezone_set('Asia/Chongqing');
echo 'Set the timezone to :' . date_default_timezone_get() . "<br />";
echo "The GMT now is : " . date('Y-m-d H:i:s', now()) . '<br />' ;
echo "The local time is : " . date('Y-m-d H:i:s', gmt_to_local($now) ) . '<br />';

如果我們的站點是面向單一時區的用戶,我想采用這個時區的時間來記載沒什麼問題,或者網站應用的類型並不 Care 時間的差別,那麼我們用什麼時間做存儲都沒關系。一旦我們的用戶對於時區的影響有較大關系的時候,我想應該統一使用GMT的標准時間來進行存儲,在顯示的時候再根據用戶所在的時區進行顯示,這樣雖然前端顯示每次都需要去計算用戶當前的時間,但是對於後台邏輯的統一性應該是大有裨益的。

目前,我們國家已經廢除了夏令時的使用,但是世界上仍有其他一些國家在使用夏令時,我們在程序處理的時候應該注意這個問題,具體的資料可以參考 Daylight Saving。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved