
Я создаю событие на весь день в своем личном Google Calendar и приглашаю себя на свой рабочий e-mail аккаунт, чтобы синхронизировать свои календари для этого события. Я использую Outlook 2016 на Windows 10 для второго аккаунта.
По какой-то причине Outlook считает, что событие "Весь день" сдвинуто на 1 час. Предположим, ICS с этой информацией:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART;VALUE=DATE:20171103
DTEND;VALUE=DATE:20171104
DTSTAMP:20171004T080944Z
....etc.
В Outlook это отображается так:
When: vrijdag 3 novemeber 2017 01:00 to zaterdag 4 november 2017 01:00
Что происходитзаключается в том, что он сдвинут ровно на один час, и в представлении «Месяц» он будет отображаться как в пятницу («vrijdag»), так и в субботу («zaterdag»).
Что бы я хотелчтобы событие отображалось в Outlook как событие «На весь день» и в пятницу.
Как заставить Outlook вести себя корректно?
Подробнее об обратной ситуации:
Если я создам событие «Весь день» в Outlook и сохраню его в ICS, оно будет выглядеть так:
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20171004T082925Z
DTEND;VALUE=DATE:20171104
DTSTAMP:20171004T082925Z
DTSTART;VALUE=DATE:20171103
LAST-MODIFIED:20171004T082925Z
....etc.
В Google Календаре этоделаетправильно отображаться как событие «Весь день».
Некоторая информация о моих настройках часового пояса:
- Google Calendar сообщает, что когда я нажимаю «Часовой пояс» для события, у которого есть время, я нахожусь в «GMT +02:00 (Амстердам)" часовой пояс.
- В службе даты и времени Windows указано, что я нахожусь в часовом поясе "(UTC+01:00) Амстердам, Берлин...". В параметрах Outlook в разделе "Календарь" указан тот же часовой пояс.
решение1
У меня долгое время было похожее разочарование, и я придумал простое решение. Я создаю встречи на весь день в своем календаре Google и приглашаю свой календарь Outlook. Оба календаря настроены на восточное стандартное время США (5 часов по Гринвичу). Мои встречи Google на весь день сдвигаются на 5 часов в моем Outlook или на 6 часов при переходе на летнее время.
Исправление: В Google я теперь создаю встречи с 12:00 утра в день события до 12:00 ночи следующего дня. Я не использую флажок «весь день». Это автоматически включает часовой пояс, когда я отправляю приглашение. Когда я принимаю эти приглашения в Outlook, они правильно отображаются в течение одного дня.
решение2
У меня была та же проблема. Решение — добавить информацию о часовом поясе в файл .ics следующим образом:
BEGIN:VTIMEZONE
TZID:W. Europe Standard Time
BEGIN:STANDARD
DTSTART:16011028T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010325T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
Это должно решить вашу проблему и дать вам событие на весь день. Ваше событие теперь начнется в 0:00:00 и закончится там же. Очевидно, вам следует ввести предпочитаемый вами часовой пояс, если вы не находитесь в CET.