在iCalendar中取消1个重复日期的实例

时间:2013-10-15 11:09:19

标签: icalendar

我在2013年10月重复活动。

我需要在10月15日取消1个实例。

怎么做?特殊标签?日历如下:

BEGIN:VCALENDAR
PRODID:-//atomos.pro//test//ru
VERSION:2.0

BEGIN:VEVENT
DTSTART;TZID=Europe/Moscow:20131001T100000Z
DTEND;TZID=Europe/Moscow:20131001T110000Z
RRULE:FREQ=DAILY;UNTIL=20131031T120000Z
SUMMARY:NEED
LOCATION:TEST
END:VEVENT

END:VCALENDAR

2 个答案:

答案 0 :(得分:0)

您是在谈论向会议与会者发送取消或仅仅排除10月15日的日期?在那里看不到任何与会者,但我想你没有在样本中包含所有属性(UID也缺失)

对于前者,您将向所有与会者发送iTIP CANCEL,其RECURRENCE-ID与10月15日的实例的DTSTART相匹配(请参阅http://tools.ietf.org/html/rfc5546#section-3.2.5)。 如下所示:

BEGIN:VCALENDAR
PRODID:-//atomos.pro//test//ru
VERSION:2.0
METHOD:CANCEL
BEGIN:VEVENT
UID:(same UID as the original VEVENT)
RECURRENCE-ID;TZID=Europe/Moscow:20131015T100000Z
DTSTART;TZID=Europe/Moscow:20131001T100000Z
DTEND;TZID=Europe/Moscow:20131001T110000Z
STATUS:CANCELLED
SUMMARY:NEED
LOCATION:TEST
END:VEVENT
END:VCALENDAR

如果是晚些时候,您只需在10月15日为您的活动添加一个EXDATE,即:

BEGIN:VEVENT
DTSTART;TZID=Europe/Moscow:20131001T100000Z
DTEND;TZID=Europe/Moscow:20131001T110000Z
RRULE:FREQ=DAILY;UNTIL=20131031T120000Z
EXDATE;TZID=Europe/Moscow:20131015T100000Z
SUMMARY:NEED
LOCATION:TEST
END:VEVENT

答案 1 :(得分:0)

arnaudq ,谢谢。这个例子隐藏了10月15日和20日的事件。

BEGIN:VCALENDAR
PRODID:-//atomos.pro//test//ru
VERSION:2.0

BEGIN:VEVENT
DTSTART;TZID=Europe/Moscow:20131001T100000Z
DTEND;TZID=Europe/Moscow:20131001T110000Z
RRULE:FREQ=DAILY;UNTIL=20131031T120000Z
EXDATE;TZID=Europe/Moscow:20131015T100000Z,20131020T100000Z
SUMMARY:WORKING
LOCATION:NOW
END:VEVENT

END:VCALENDAR