2013-10-21 32 views
2

這可能是一個簡單的問題,因爲我是PHP的新手,我需要在UTC-05:00上創建DateTimeZone,我看了一下,大部分示例都使用名稱城市顯示時區,如:如何獲得UTC-05的DataTimeZone:00

$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo"); 

但其實我不知道是什麼樣的城市在UTC-05:00(它是動態的,也許UTC+05:00或其他值),我看到:

$utcTimeZone = new DateTimeZone("UTC"); 

是工作,但:

$myTimeZone = new DateTimeZone("UTC-05:00"); 

不工作。

所以,我怎麼創建UTC-05:00DateTimeZone?的DateTimeZoneconstructor沒有提到這個

+0

由於這是不可能的(見下面的答案),你爲什麼要這樣做?也許還有另一個解決方案來解決你正在嘗試解決的問題。 – deceze

+0

@deceze:謝謝你的回答,我想創建一個基於時區「UTC:-05:00」的'DataTime',例如 –

+0

再次,這是**不可能的。**你想要做什麼這個時區? – deceze

回答

1

這正是問題。你不能從偏移到時區。有許多時區在任何給定時間具有相同的偏移量,但這些時區是不同的時區,因爲它們的偏移量在一年中的不同時間發生變化。時區與偏移不同;一個時區是規則集,在這段時間內,偏移處於活動狀態。你可以做的最好的是製作一個當前偏移量爲-05:00的時區列表,但是你不能識別一個特定的時區。


話雖如此,PHP不支持的兼容性時區Etc/GMT+1等見http://www.php.net/manual/en/timezones.others.php。但需要注意的是,這些可能不完全相同的時區爲UTC + XX和:

警告

請不要使用任何這裏列出的時區(除UTC),它們只存在向後兼容的原因。

相關問題