我对iCalendar规范RFC 5545中的属性RECURRENCE-ID和此属性中的RANGE参数有点困惑。iCalendar中的RECURRENCE-ID(RFC 5545)
假设一个包含名为“会议”的循环事件的日历组件,该会议将于2012年8月6日开始的每个星期一10-12点安排。重复结束日期为2012年10月29日。 “会议”将于2012年9月3日每周一的12点至15点重新安排,范围设置为THISANDFUTURE,以确定所有后续活动的时间安排在12点至15点。 到2012年10月1日,“会议”将在每周二(而不是周一)的10点至13点再次重新安排,范围设置为THISANDFUTURE。 此外,2012年9月17日的单项活动将从8点改变为10点。
以iCalendar格式的本次活动将是这样的:
BEGIN:VCALENDAR
...
BEGIN:VEVENT
DTSTART:20120806T100000Z
DTEND:20120806T120000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20120903T120000Z
DTEND:20120903T150000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID;RANGE=THISANDFUTURE:20120903T100000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20121002T100000Z
DTEND:20121002T130000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID;RANGE=THISANDFUTURE:20121001T100000Z or 20121002T120000Z???????????
END:VEVENT
BEGIN:VEVENT
DTSTART:20120917T080000Z
DTEND:20120917T100000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID:20120917T100000Z or 20120917T120000Z?????????
END:VEVENT
END:VCALENDAR
我不能确定的值是复发ID和RRULES的值。
- )哪个日期应该用在第三和第四个事件中?他们应该参考主要事件(第一事件)还是事件第二事件,因为这是“最近的”事件,它被重新安排?
- )如果我对RFC5545的解释是正确的,则RRULE可能不会更改或重新安排。这意味着在子事件中,rrule也是相同的。最后一场比赛将于2012年10月29日10时至12时举行,但第三场比赛将重新安排到第二天的下午10点。这是日历组件重复集合中的最后一个事件,还是在所有事件中都要更改UNTIL值,以便10月30日10点包括在内?
在此先感谢! :-)
对不起,我迟到的答案,但电子邮件通知没有任何原因工作。感谢您的发布。它帮助了很多。我将通读上述章节,如果事实证明这个问题真的解决了,我会将问题标记出来。 :-) – mrwerner 2012-09-06 20:12:31