<?php
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');
?>
php5.1.* 的時區問題
在php5.1.*執行
[php]
<?php
echo date('Y-m-d H:i:s');
?> [/php]
結果是:2006-04-22 07:06:49
而當前時間是:
2006-04-22 15:06:49
正好少了8個小時.
-----------------------------------------------------------------------------------
用[php]<?php echo date_default_timezone_get();?>[/php]
得知,時間格式是UTC.
解決方法:
在頁頭使用date_default_timezone_set()設置我的默認時區爲北京時間
[php
<?php
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');
?>[/php
時間和服務器當前時間一樣了!
另外附date_default_timezone_set用法如下:
------------------------------------------------------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- 設定用於一個腳本中所有日期時間函數的默認時區
說明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 設定用於所有日期時間函數的默認時區。
注: 自 PHP 5.1.0 起(此版本日期時間函數被重寫了),如果時區不合法則每個對日期時間函數的調用都會產生一條 E_NOTICE 級別的錯誤信息。
參數
timezone_identifier
時區標識符,例如 UTC 或 Europe/Lisbon
返回值
本函數永遠返回 TRUE(即使 timezone_identifier 參數不合法)。
-------------------------------------------------------------------------------------
再附上時區標識符:
CET
CST6CDT
Cuba
EET
Egypt
Eire
EST
EST5EDT
Etc/GMT
Etc/GMT+0
Etc/GMT+1
Etc/GMT+10
Etc/GMT+11
Etc/GMT+12
Etc/GMT+2
Etc/GMT+3
Etc/GMT+4
Etc/GMT+5
Etc/GMT+6
Etc/GMT+7
Etc/GMT+8
Etc/GMT+9
Etc/GMT-0
Etc/GMT-1
Etc/GMT-10
Etc/GMT-11
Etc/GMT-12
Etc/GMT-13
Etc/GMT-14
Etc/GMT-2
Etc/GMT-3
Etc/GMT-4
Etc/GMT-5
Etc/GMT-6
Etc/GMT-7
Etc/GMT-8
Etc/GMT-9
Etc/GMT0
Etc/Greenwich
Etc/UCT
Etc/Universal
Etc/UTC
Etc/Zulu
Factory
GB
GB-Eire
GMT
GMT+0
GMT-0
GMT0
Greenwich
Hongkong
HST
Iceland
Iran
Israel
Jamaica
Japan
Kwajalein
Libya
MET
MST
MST7MDT
Navajo
NZ
NZ-CHAT
Poland
Portugal
PRC
PST8PDT
ROC
ROK
Singapore
Turkey
UCT
Universal
UTC
W-SU
WET
Zulu