存储iCalendar异常

时间:2014-11-22 11:38:52

标签: icalendar

我是icalendar的新手......思考如何处理重复规则异常。如果我在周一至周五发生上午9:00事件的每日重复规则,并且我想在星期三更改事件的开始时间,我是否将由周三计算的出现日期添加到exdate然后创建一个全新的独立活动?

我遇到的问题是我的“事件”实际上是工作订单,它们存在于单独的数据库文档中,因此以这种方式创建新事件会破坏现在独立工作订单与其他实例之间的关联。

我还考虑将周三的rrule计算的出现日期添加到exdate,然后将新的日期时间添加到rdate并将其用作受影响实例的recurrenceId,但不确定这是否正确?似乎这样可行。

Thansk的帮助!

1 个答案:

答案 0 :(得分:0)

您可以通过创建另一个共享相同UID的VEVENT来创建例外。例如,这是每日重复发生的事件,其中第一个星期三被覆盖。我删除了一些必需的属性并添加了缩进以便易读:

BEGIN:VCALENDAR
  BEGIN:VEVENT
    UID:foo-bar
    DTSTART:20141124T090000Z
    RRULE:FREQ=DAILY
  END:VEVENT
  BEGIN:VEVENT
    UID:foo-bar
    RECURRENCE-ID:20141126T090000Z
    DTSTART:20141126T100000Z
  END:VEVENT
END:VCALENDAR

在第二个VEVENT中,我们使用RECURRENCE-ID引用旧时,然后使用新的DTSTART覆盖时间。