【问题标题】:How to update a recurrence occurence on ICal如何更新 ICal 上的重复事件
【发布时间】:2016-06-21 16:20:45
【问题描述】:

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

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

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

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

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

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

非常感谢,

【问题讨论】:

    标签: icalendar rfc5545


    【解决方案1】:

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

    无论如何,您仍然应该只有一个日历资源,但它应该包含

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

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

    【讨论】:

      【解决方案2】:

      为未来的读者发布。由于某些原因,很难找到RECURRENCE-ID 的工作示例

      以下资源将从 2021 年 1 月 13 日开始,在 10 天内每天重复一个事件“测试”(UTC 时间上午 10 点至下午 1 点),除了 2021 年 1 月 15 日之外,该事件将被称为“测试除我之外”,并于下午 3 点开始 -世界标准时间下午 6 点。

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-12
        • 1970-01-01
        • 2020-08-24
        • 2012-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多