0
votes

I am currently in Eastern Standard Time and I have an event that should be all day on September 14, 2018. When I load this ICS calendar into my outlook 2016 on a Windows 10 computer, while my computer is in EST timezone, it shows the event correctly as all day. However, if I change my timezone to something like like Central Time, it changes the event to be from 11pm to 11pm.

I specified date only and the timezone to be UTC, and when I view the event in CT it even shows a message that it was changed from UTC. So why does this only seem to work in Eastern Time and not Central Time?

I also checked my options in Outlook and the TimeZone changes as I expect.

I have also tested the same calendar ics file on another computer that is in Eastern Standard Time. And the date shows as 8am to 8am, not all day.

Why am I seeing such different results? Is there a setting I am missing?

ICS TimeZone:

BEGIN:VTIMEZONE
TZID:UTC
BEGIN:STANDARD
DTSTART;VALUE=DATE:20170101
TZNAME:UTC
TZOFFSETFROM:+0000
TZOFFSETTO:+0000
END:STANDARD
END:VTIMEZONE

ICS Event:

BEGIN:VEVENT
DESCRIPTION: Test description
DTEND;VALUE=DATE:20180915
DTSTAMP:20180912T123153Z
DTSTART;VALUE=DATE:20180914
ORGANIZER;Tester
SEQUENCE:0
SUMMARY: TestSubject
UID:69c1777d-71e4-4160-81c7-79b35d9cf924
BEGIN:VALARM
ACTION:Display
DESCRIPTION:Reminder
TRIGGER:-PT15M
END:VALARM
END:VEVENT
1

1 Answers

0
votes

First of all, you do not need to include a VTIMEZONE component in your icalendar stream since it won't be referenced in the event itself.

Then, if the duration is exactly one day, you can try to remove the DTEND.

The other option is to represent this event as an event with floating time (i.e. DATETIME without specifying any timezone)

DTSTART:20180914T000000
DTEND:20180915T000000

Finally, you always have the option to create the event in outlook, check that it does not move when switching timezone, then export it as ics and see how it is represented.