2016-10-21 4 views
0
BEGIN:VCALENDAR 
VERSION:2.0 
METHOD:PUBLISH 
X-WR-CALNAME:Test Cal 
X-WR-CALDESC:2016-2017 
X-WR-TIMEZONE:America/Toronto 

BEGIN:VTIMEZONE 
TZID:America/Toronto 
X-LIC-LOCATION:America/Toronto 
BEGIN:STANDARD 
DTSTART:20161106T020000 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
TZNAME:EST 
END:STANDARD 
BEGIN:DAYLIGHT 
DTSTART:20170312T020000 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
TZNAME:EDT 
END:DAYLIGHT 
END:VTIMEZONE 

BEGIN:VEVENT 
UID:20161020T235802EDT-7919w7sZDz 
DTSTAMP:20161021T035802Z 
DESCRIPTION:Details Sat Oct 15\, 2016 6:00pm - 7:00 pm 
DTSTART;TZID=America/Toronto:20161015T180000 
DTEND;TZID=America/Toronto:20161015T190000 
LOCATION:Hockey Arena 
SEQUENCE:1 
SUMMARY:Game 
END:VEVENT 

END:VCALENDAR 

Этот календарь, на который подписаны в Gmail, iPhone или iCloud, показывает правильное время этого даже в 18:00. Однако Outlook Live отображает это событие через час: с 7 вечера до 8 вечера. Почему это должно быть? Даты и время правильны после изменения времени смены дневного света. Итак, после 5 ноября времена верны.Outlook Live ICS calendar выключен на 1 час

ответ

1

не знаю, где вы получили это определение VTIMEZONE но имеет DST, начиная только в 2017. Попробуйте что-то вроде:

BEGIN:VTIMEZONE 
TZID:America/Toronto 
BEGIN:STANDARD 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
DTSTART:20081102T020000 
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU 
TZNAME:EST 
END:STANDARD 
BEGIN:DAYLIGHT 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
DTSTART:20080309T020000 
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU 
TZNAME:EDT 
END:DAYLIGHT 
END:VTIMEZONE 

Я предполагаю, что пустые строки были добавлены только в вашем StackOverflow пост ,

+0

Да, я добавил их для удобства чтения. вы правы, DTS уже год! – keeg

 Смежные вопросы

  • Нет связанных вопросов^_^