Outlook меняет события ICS All Day UTC при смене часового пояса - PullRequest
0 голосов
/ 12 сентября 2018

Я в настоящее время нахожусь в восточном стандартном времени, и у меня есть событие, которое должно состояться весь день 14 сентября 2018 года. Когда я загружаю этот календарь ICS в свой Outlook 2016 на компьютере с Windows 10, когда мой компьютер находится в часовом поясе EST, это показывает событие правильно, как весь день. Однако, если я изменю свой часовой пояс на что-то вроде центрального времени, это событие будет изменено с 23:00 до 23:00.

Я указал только дату и часовой пояс, который будет UTC, и когда я просматриваю событие в CT, оно даже показывает сообщение, что оно было изменено с UTC. Так почему же это работает только в восточном, а не в центральном времени?

Я также проверил свои параметры в Outlook и изменения часового пояса, как я ожидал.

Я также протестировал тот же файл ics календаря на другом компьютере, который находится в восточном стандартном времени. И дата показывается как 8 утра до 8 утра, а не весь день.

Почему я вижу такие разные результаты? Есть настройки, которые мне не хватает?

ICS TimeZone:

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

Событие ICS:

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 Ответ

0 голосов
/ 13 сентября 2018

Прежде всего, вам не нужно включать компонент VTIMEZONE в ваш поток icalendar, так как он не будет указан в самом событии.

Затем, если продолжительность ровно один день, вы можете попытаться удалить DTEND.

Другой вариант - представить это событие как событие с плавающим временем (т. Е. DATETIME без указания часового пояса)

DTSTART:20180914T000000
DTEND:20180915T000000

Наконец, у вас всегда есть возможность создать событие в outlook, убедиться, что оно не перемещается при переключении часового пояса, затем экспортировать его как ics и посмотреть, как оно представлено.

...