2016-10-21 63 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中订阅此日历即使在下午6点也会显示此时间。但Outlook Live在一小时后显示此事件:晚上7点至晚上8点。为什么会这样?日光节约时间更改后日期和时间正确。所以在11月5日之后,时代是正确的。Outlook Live ICS日历关闭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 

我假设空行是在您的计算器职位只增加。

+0

是的我为了便于阅读而添加了它们。你是对的DTS是一年! – keeg