2010-11-28 57 views
0

Google日曆的XML Feed包含一個值,用於指示the timezone of the calendar,但它只包含長格式時區ID,而不包括時間偏移。TimeZone要在PHP中抵消的位置

例如

<gCal:timezone value="Australia/Hobart"/> 

<gCal:timezone value='Europe/London'/> 

有沒有一種簡單的方法將這些位置值轉換成一個時區偏移量(像+11 hours?)這個值就需要反映區域設置的夏令狀態。

另外,有什麼辦法讓Google日曆在XML數據中包含這個時區偏移量嗎?

回答

3

這會給你的時區在幾秒鐘內偏移,相對於UTC:

$timezone = 'Europe/London'; 
$dt = new DateTime('now', new DateTimeZone($timezone)); 
echo $dt->getOffset(); 

你可以通過調用

得到所有支持的時區列表
DateTimeZone::listIdentifiers()