Read the statement by Michael Teeuw here.
Calendar Timezone Issues
-
Not sure if anyone else is having this problem, but the start times in my calendar are different from my Outlook entries. Usually, they are off by 4 hours (I’m in EDT). The only time it displays the correct time is when the calendar entry was entered in UTC. This seems to be a new issue as it was working previously. Thoughts?
-
@Jonsar I created a set of calendar fixes for 2.13 and next. if you switch to the develop branch these should be resolved
see the instructions in the 2.13 office calendar topic at the top.of the troubleshooting section
-
@sdetweil Thank you. I have updated to v2.13.0 and still have the issue. Sorry for the dumb question, but how do I pull only from the develop branch?
-
-
@sdetweil Thank you for all your help. Unfortunately, it still has the timezone issue i.e. all times displayed UTC-4 (I’m in EDT). It appears that the times that are pulled from Outlook are not recognized as already in EDT and are being treated as UTC (hence the additional -4 hours). I’ll keep working on it.
-
@Jonsar can u share the ics file , email, same userid on gmail
it is a text file, so if u have to change the event names, it just an editor required
the ics spec says events with time ( T120000) (noon) MUST be in UTC
events that say DATE-ONLY, are in local time.if there are NOT UTC, then they must supply a TZID= value
Windows uses non-standard timezone values, and IF you make up your own that aren’t in the
https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml
official list, then you will get random results…while a timezone MAY be defined IN the ics file, none of the ics handler libraries use it
here is an event from Office 365, using a recognized windows timezone
BEGIN:VEVENT DESCRIPTION:test new event 1 UID:040000008200E00074C5B7101A82E0080000000070DE40F38786D601000000000000000 010000000D2A9BA8A3668CA4ABB2CC6838268179F SUMMARY:test DTSTART;TZID=W. Europe Standard Time:20200910T090000 DTEND;TZID=W. Europe Standard Time:20200910T093000 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20200909T160350Z TRANSP:OPAQUE STATUS:CONFIRMED SEQUENCE:0 LOCATION: X-MICROSOFT-CDO-APPT-SEQUENCE:0 X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:FALSE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:0 X-MICROSOFT-DONOTFORWARDMEETING:FALSE X-MICROSOFT-DISALLOW-COUNTER:FALSE END:VEVENT
here is an owa event with just date (whole day event)
BEGIN:VEVENT UID:040000008200E00074C5B7101A82E00800000000104D9270F49BD601000000000000000 0100000001BDF375044B13F4EB90D0876F5F54174 SUMMARY:some event name DTSTART;VALUE=DATE:20201012 DTEND;VALUE=DATE:20201013 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20201007T210922Z TRANSP:TRANSPARENT STATUS:CONFIRMED SEQUENCE:0 LOCATION: X-MICROSOFT-CDO-APPT-SEQUENCE:0 X-MICROSOFT-CDO-BUSYSTATUS:FREE X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:TRUE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:0 X-MICROSOFT-DONOTFORWARDMEETING:FALSE X-MICROSOFT-DISALLOW-COUNTER:FALSE END:VEVENT
-
@sdetweil The ics file is generated with Microsoft Exchange Server 2010.
UID:55CA88B7-8EF2-4AB5-AD4E-557F33C33FBE SUMMARY: TEST DTSTART;TZID="(UTC-05:00) Eastern Time (US & Canada)":20201028T133000 DTEND;TZID="(UTC-05:00) Eastern Time (US & Canada)":20201028T150000 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20201015T165939Z TRANSP:OPAQUE STATUS:CONFIRMED SEQUENCE:0 X-MICROSOFT-CDO-APPT-SEQUENCE:0 X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:FALSE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:0 X-MICROSOFT-DONOTFORWARDMEETING:FALSE X-MICROSOFT-DISALLOW-COUNTER:FALSE END:VEVENT
-
@Jonsar yeh, that is a challenge… its broken in both the parser and the magic mirror code that handles the cal entries
I can get it ‘mostly’ right
the problem is that TZ= has stuff we can’t process…
“(UTC-05:00) Eastern Time (US & Canada)”we can get the offset, and look up some timezone with the SAME offset to get back to UTC
except, the 1st entry America/Atikokan, doesn’t do Daylight savings,
and the date conversion library appears to have a bug, saying Daylight savings in the US is in effect on Oct 28, 2020, even tho its NOT til Nov 1, 2020
the rest of the text doesn’t match anything in the Windows timezone list.
so, it will be 1 hour off for a while.
-
@Jonsar I have found a solution and have submitted changes to the ics parser library
https://github.com/jens-maus/node-ical/issues/32
and will submit changes to MM to match.
https://github.com/MichMich/MagicMirror/issues/2171if U are interested I could send u the test files, chat message me if u are interested.
-
@sdetweil Not sure what changed but the times are now displaying as starting 5 hours before they are supposed to.