Google Calendar – How to Import iCalendar Event with Different Time Zones

google-calendarimporttime zone

On Google Calendar I'm able to manually create an event that starts and ends in different time zones:

Manually entered Google Calendar Entry with different time zones at start and end

I would like to recreate entries like this using the import feature in Google Calendar ((gear) > settings > import & export > (select file) > import).

I have tried the following, which does import, but the resulting calendar entry is incorrect:

BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART;TZID=Eastern Time - New York:20191207T124500
DTEND;TZID=Eastern European Standard Time - Cairo:20191208T050500
DESCRIPTION:Event starting NY 12:45pm (local time) - ending Eastern Europe 5:05am (local time)
LOCATION:Atlantic
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Flight
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

The resulting entry makes incorrect assumptions about time zones, presuming the entries are zulu or something.

I have also tried to set the TZID parameter to things like "GMT-04:00", but those did not successfully import to Google Calendar at all. And using DTSTART:20191207T124500 or DTSTART:20191207T124500Z works, but doesn't do what I want.

My starting point for this endeavor was to export a calendar entry that had the time zone details, but that did not export with the time zone details (only exported in GMT+00:00 zulu).

So in summary, I'm able to import, just need to figure out how to import an event and have it show different starting and ending time zones.

Best Answer

You must define the TZIDs used in your iCal file, using the VTIMEZONE component.

For example, add this block of code after END:VEVENT to define the "Eastern Time - New York" timezone:

BEGIN:VTIMEZONE
TZID:Eastern Time - New York
BEGIN:STANDARD
DTSTART:19671029T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19870405T020000
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE

The iCalendar Validator is a nice tool to make sure your iCal file conforms to RFC 5545.