In receiving iCal events from Outlook, it is specifying the timezone in the long format:
DTSTART;TZID=Eastern Standard Time:20120521T180000
That is, what you’d get from TimeZone.getDisplayName().
How can I go from that (Eastern Standard Time) to a TimeZone object?
Well, it ain’t pretty, but here’s what I ended up with (basically, iterate over available TZ’s, searching for a
getDisplayName()match):// NOTE: vTZID is the timezone ID as presented by the iCalendar format
// For example ‘Eastern Standard Time’. I only do this if the TZ cannot be found by the normal method
// (that is, TimeZone.getTimeZone())