在php中默認時區是歐美時區了,我們利用date函數獲取到的日期是不正確的,如果我們要獲取中國北京時間需要簡單的設置默認時區才可以,具體操作按下文來操作吧.
每個地區都有自己的本地時間,在網上及無線電通信中,時間的轉換問題顯得格外突出,整個地球分為24個時區,每個時區都有自己的本地時間,在國際無線電或網絡通信場合,為了統一起見,使用一個統一的時間,成為通用協調時(Universal Time Coordinated,UTC),是由世界標準設定的全球標準時間,UTC原先也被成為格林威治標準時間(Greenwich Mean Time,GMT),都與英國倫敦的本地時間相同.
PHP默認的時區設置是UTC時間,而北京正好位于時區的東八區,領先UTC8個小時,所以在使用PHP中time()等獲取當前時間的函數,得到的時間總是不對,表現是和北京時間相差8個小時,如果希望正確顯示北京時間,就需要修改默認的時區設置,可以通過以下兩種方式完成.
①如果使用的是獨立的服務器,有權限修改配置文件,設置時區就可以通過修改php.ini中的date.timezone屬性完成,我們可以將這個屬性的值設置為“Asia/Shang”、“Asia/Chongqing”、“Etc/GMT-8”或PRC等中的一個,再在PHP腳本中獲取的當前時間就是北京時間,修改PHP的配置文件如下所示:
date.timezone = Etc/GMT-8 //在配置文件中設置默認時區為東8區(北京時間)
②如果使用的是共享服務器,沒有權限修改配置文件php.ini,并且PHP版本又在5.1.0以上,也可以在輸出時間之前調用date_dafault_timezone_set()函數設置時區,該函數需要提供一個時區標識符作為參數,和配置文件中date.timezone屬性的值相同,該函數的使用如下所示:
- date_default_timezone_set(‘PRC’); //輸出時間之前設置的時區,PRC為中華人民共和國
- echo date(‘Y-m-d H:i:s’,time()); //輸出的當前時間為北京時間
3.使用php函數
如果你使用北京時間,就像這樣就可以了:date_default_timezone_set("Asia/Shanghai");
例子,WAMP的默認時區
WAMP默認的時區是格林威治標準時間(GMT),這就意味著WAMP默認的服務器時區是GMT,但我們可以更改服務器默認時區,以對應北京時間,打開WAMP菜單中的php.ini,在文檔最后添加如下代碼即可:
- [Date]
- ; Defines the default timezone used by the date functions
- //開源代碼Vevb.com
- date.timezone = "Asia/Shanghai"
新聞熱點
疑難解答