Outlook открывает файл ICS с раскрывающимся меню часового пояса

Я пытался получить файл ICS с настройкой плавающего часового пояса. Исследования показывают, что использование плавающих часовых поясов не рекомендуется, но мой клиент специально попросил, чтобы пользователь, загружающий файл ICS в Великобритании и один в США, видел одно и то же время.

У меня есть следующий код (без тела сообщения):

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 14.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VTIMEZONE
TZID:GMT Standard Time
BEGIN:STANDARD
DTSTART:16011028T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:+0000
TZOFFSETTO:-0000
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010325T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZOFFSETFROM:-0000
TZOFFSETTO:+0000
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20150609T083427Z
DESCRIPTION:Testing Tuesday 09/06/2015 – 11.00-11.30\n
DTEND;TZID="GMT Standard Time":20150609T113000
DTSTAMP:20150609T083427Z
DTSTART;TZID="GMT Standard Time":20150609T110000
LAST-MODIFIED:20150609T083427Z
LOCATION:LA
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=en-gb:Test Short Event
TRANSP:OPAQUE
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MS-OLK-AUTOFILLLOCATION:FALSE
X-MS-OLK-CONFTYPE:0
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

Я установил часовой пояс своего компьютера на Phoenix (UTC -07: 00), и открытие этого ICS-файла в Outlook работает с 11:00 до 11:30, как я и надеюсь. Однако Outlook также открывает раскрывающиеся списки часовых поясов, в которых отображаются «Дублин, Эдинбург, Лиссабон, Лондон». Если бы этот курс проводился в США, я думаю, это сбило бы пользователей с толку.

Я попытался удалить весь раздел VTIMEZONE и ссылки TZID в DTSTART и DTEND, или просто удалить один или другой, или изменить их TZID на TZID: America / Phoenix, или добавить Z к временам, но все это, кажется, дает мне неустойчивое время. Тем не менее, он удаляет раскрывающийся часовой пояс в Outlook!

Итак, мои вопросы; 1. Можно ли указать Outlook не открывать раскрывающийся список «Часовой пояс» в этом файле ICS? 2. Есть ли для меня лучший способ сделать это, установив точное время курса и возможность загрузить его в любой точке мира с таким же установленным временем для курса?

Спасибо, и я надеюсь, что все, что я написал, имеет смысл. Я часами исследовал это, но, кажется, хожу по кругу!


person roxvox    schedule 08.07.2015    source источник


Ответы (2)


Стандартный способ представления плавающих событий соответствует вашему второму описанию (т.е. удалить все ссылки на TZID). В вашем случае что-то вроде:

DTSTART:20150609T110000
DTEND:20150609T113000

Каков был исход такого события со стороны Outlook?

person Arnaud Quillaud    schedule 09.07.2015
comment
Спасибо за ответ @arnaudq. Удалив ссылки TZID и установив часовой пояс моего компьютера на GMT, я получаю правильное время 11-11.30 для события. Но если я настрою свой компьютер на часовой пояс Калифорнии, то я получу время 3–3:30. Мне нужно, чтобы он показывал 11-11.30 независимо от местонахождения пользователя. Не думаю, что у вас есть идеи? - person roxvox; 09.07.2015

Еще одно исследование (зевок) показало, что это проблема Outlook и что они не соблюдают рекомендации ICS для плавающих часовых поясов;
MS Outlook неправильно интерпретирует файлы ICS по местному времени: избыточное исправление летнего времени

Итак, теперь я думаю, что единственный способ обойти это - собрать часовой пояс человека, который обращается к файлу ics, и убрать разницу во времени из времени файла ICS. Итак, если курс запускается в 11 часов утра, и кто-то в Калифорнии (UTC -08: 00) забирает его, то мне придется указать файлу, чтобы он вводил курс как начинающийся в 19:00, чтобы он был загружен в Outlook этого пользователя показывает правильное время - 11 часов утра. Или я думаю, что все равно так оно и будет работать. Требуется больше усилий.

person roxvox    schedule 14.07.2015