kewisch/gdata-provider

ics time zone local time import in Thunderbird shows up as UTC in google calendar

yEP-NL opened this issue · 2 comments

yEP-NL commented

I received an ICS-file much like this:

BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
STATUS:CONFIRMED
ORGANIZER: Example
DTSTART:20231018T173000
DTEND:20231018T220000
LOCATION: example place
UID:00000
DTSTAMP:20231015T120000
SUMMARY: your example event
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR

On Windows 10 with dutch locale nl-NL, I double clicked the ics file and imported it in Thunderbird with gdata-provider installed.
The import dialog in Thunderbird shows the start and end times as 17:30 and 22:00.

After finishing the import in my Google calendar the times are shifted to 19:30 and 00:00.
That's the 2 hours difference between UTC and my local time.

After checking the iCalendar specs and testing the Google API on https://developers.google.com/ my observation is as follows.

  1. The ics-file contains DTSTART and DTEND datetimes without a time zone specified. This is a valid notation, to be interpreted as "local time".
  2. Thunderbird/addon displays the times "as is". Seems ok to me.
  3. The addon uses the Google API to register the event in my Google calendar. This leads to the time shifting by 2 hours.

Since the Google API requires specifying time zone data, I suggest the addon should compensate for the ambiguous data in the ics-file. Considering the addon dialog displays the times unmodified, I'd expect the addon to send the data to the API including the current time zone Thunderbird is using.

Notes:

  • When I modify the ics file to contain time zone data, the event registration in Google calendar is fine. So this issue is specific to ics files using this ambiguous "local time" notation.
  • My Thunderbird uses the default locale setting, which means the Windows locale.
  • The addon version used is 115.0.2