php5.1.* 的時區問題

<?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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章