0

我目前正在使用 ical 格式,需要处理重复发生的事件。

我直接与 Icloud 合作,并设法创建和删除重复事件。

但是,在尝试更新所述重复出现的单个事件时,我遇到了一些问题。

例如,假设我在一周内每天安排一个名为“测试”的活动。我应该如何将星期二的出现重命名为“其他标题”?甚至更改此特定事件的日期?

我试图通过使用它的 ID 来简单地更新发生,但它似乎创建了它的克隆并且没有触及真实的发生。此外,当尝试从 Icloud 日历界面访问克隆的事件时,它会崩溃。

所以我有点卡住了,希望能得到一些帮助:)

非常感谢,

4

2 回答 2

0

目前尚不清楚您是否正在尝试更新该事件。

在任何情况下,您仍然应该只有一个日历资源,但它应该包含

  • 一个“主”VEVENT,包含基本信息以及 RRULE,
  • 每个实例都有一个 VEVENT,它是基本事件的“异常”,其中每个异常都由其 RECURRENCE-ID 标识。

RFC5545 没有此类事件的任何示例,但 RFC5546 在https://www.rfc-editor.org/rfc/rfc5546#section-4.4.8有非常接近的内容(使用 RDATE 而不是 RRULE 并且不需要 METHOD 属性但你明白了)。

于 2016-03-08T08:51:42.307 回答
0

为未来的读者发布。由于某些原因,很难找到一个有效的例子RECURRENCE-ID

以下资源将从 2021 年 1 月 13 日开始,每天重复一个事件“测试”(UTC 时间上午 10 点 - 下午 1 点),持续 10 天,除了 2021 年 1 月 15 日,该事件将被称为“测试除了我”,开始时间为下午 3 点 - 下午 6 点 UTC。

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
UID:232392939239293293@hello.me
DTSTART:20210113T100000Z
DTEND:20210113T130000Z
SUMMARY:test
RRULE:FREQ=DAILY;INTERVAL=1;COUNT=10
END:VEVENT
BEGIN:VEVENT
UID:232392939239293293@hello.me
DTSTART:20210115T150000Z
DTEND:20210115T180000Z
SUMMARY:test except me
RECURRENCE-ID;VALUE=DATE-TIME:20210115T100000Z
END:VEVENT
END:VCALENDAR
于 2021-01-13T11:39:30.093 回答