我有一个生成ics文件的脚本,有些事件往往有复杂的重复规则(i.e. every Monday between date1 and date2 except on holiday1 or holiday2 but also occurs once on randomDate1)
鉴于我对定义的here规范的理解,将它表示为RRULE,RDATE和EXDATE之间的混合似乎非常简单
正如您在My Complex Event
但是,一旦我在MS Outlook 2016中打开此文件,我会在RRULE所针对的日期看到该事件,我不会在EXDATE定位的那个上看到它(这没关系)但我没有&#39 ;在RDATE目标日期看到它(不行)
我已经验证了我的here并发现没有错误。所以我想知道: 这是一个Outlook错误吗?我应该为ical属性使用一些订单吗?
我也尝试将其导入Google日历,但我没有看到4月13日星期三定义的事件,而是在4月12日星期二看到了它.RRULE和EXDATE也按预期工作。
有什么想法吗?
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//dkhalife//NONSGML Dany v2.0//FR
METHOD:PUBLISH
X-WR-CALNAME:Dany
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:America/Montreal
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CATEGORIES:Cours
SUMMARY:My Complex Event
LOCATION:Location Location Location
DTSTART;TZID=America/Montreal:20160111T124500
DTEND;TZID=America/Montreal:20160111T143500
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20160415
RDATE;VALUE=DATE:20160413
EXDATE;VALUE=DATE:20160125
UID:xxxx
END:VEVENT
END:VCALENDAR
答案 0 :(得分:1)
您的活动有时间,但RDATE
和EXDATE
值是全天的,这没有意义(几年前我概述了回应{{3}并且IMO是无效的(即使RFC 5545没有明确说明)。
尝试替换
RDATE;VALUE=DATE:20160413
EXDATE;VALUE=DATE:20160125
通过
RDATE;TZID=America/Montreal:20160413T124500
EXDATE;TZID=America/Montreal:20160125T124500
顺便说一下。如果您的事件锚定在任何时区(这在bug in KOrganizer中明确指定),则必须在UTC时间中指定的UNTIL
子句也是如此。
所以你的RRULE
应该是这样的:
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20160415T164500Z