Если вы используете Java, используйте Joda Time - идентификатор часового пояса, указанный в Календаре Google, будет таким, который понимает Joda Time. Стандартный класс TimeZone
тоже может это понять, но я думаю, что Йода с большей вероятностью.
Предполагая, что вы видите все материалы VTIMEZONE, которые сопровождают событие, вы можете игнорировать детали - просто используйте идентификатор.
К сожалению, есть некоторые идентификаторы часовых поясов, которые менялись со временем - я не могу вспомнить ни одного примера, но вам может потребоваться выполнить некоторые переводы, если вам предоставлены "старые" имена.
Если вы используете .NET, вам действительно нужно использовать .NET 3.5 и класс TimeZoneInfo
. К сожалению, здесь используются имена Windows вместо идентификаторов Олсона, но где-то есть список перевода (я могу выкопать его, если хотите).
Если вы не используете ни одну из этих платформ, вам нужно найти библиотеку, которая поддерживает Olson Zoneinfo . (Эта статья в Википедии содержит несколько полезных ссылок внизу.)
Я бы определенно попытался найти библиотеку, которая сможет предоставить вам соответствующую информацию на основе идентификатора, а не использовать правила, приведенные в записи календаря. Часовые пояса меняются с течением времени, а база данных zoneinfo содержит историческую и будущую информацию, но ее нелегко закодировать в записи календаря.