If you use Java, use Joda Time - the time zone identifier specified in Google Calendar will be what Joda Time understands. The standard TimeZone class may well understand this, but I think Joda is more likely.
Assuming you see all VTIMEZONE content that comes with the event, you can ignore the details - just use the identifier.
Unfortunately, there are some time zone identifiers that have changed over time - I canβt recall any examples from hand to hand, but you may need to make some translations if you are given the βoldβ names.
If you are using .NET, you really need to use .NET 3.5 and the TimeZoneInfo class. Unfortunately, this uses Windows names instead of Olson identifiers, but there is a translation list somewhere (I can dig it out if you want).
If you are not using any of these platforms, you basically need to find a library that supports the Olson Zoneinfo names . (There are useful links below in this Wikipedia article.)
I would definitely try to find a library that can provide you relevant information based on the identifier, rather than using the rules listed in the calendar entry. Time zones change over time, and the zoneinfo database contains historical and future information, but this cannot be easily encoded into calendar entries.
source share