Расположение часового пояса для смещения в PHP - PullRequest
0 голосов
/ 28 ноября 2010

Фид XML Календаря Google содержит значение, указывающее часовой пояс календаря , но включает в себя только идентификатор часового пояса в длинном формате, а не смещение времени.

например,

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

или

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

Существует ли простой способ перевести эти значения местоположения в смещение часового пояса (например, +11 hours?) Это значение должно отражать текущее состояние перехода на летнее время влокаль.

В качестве альтернативы, есть ли способ заставить Календарь Google включать это смещение часового пояса в данные XML?

Ответы [ 2 ]

3 голосов
/ 29 ноября 2010

Это даст вам смещение часового пояса в секундах относительно UTC:

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

Вы можете получить список всех поддерживаемых часовых поясов, позвонив

DateTimeZone::listIdentifiers() 
1 голос
/ 29 ноября 2010

Вы можете использовать на DateTimeZone :: listAbbreviations и DateTimeZone :: listIdentifiers

...