【问题标题】:Difference between Occurrence and Instance in iCalendar standard?iCalendar 标准中 Occurrence 和 Instance 的区别?
【发布时间】:2016-01-08 23:17:57
【问题描述】:

iCalendar RFC 5545中的术语“发生”和“实例”有什么区别吗?

我发现 CalDAV RFC 4791 仅使用术语“实例”,其中没有使用术语“发生”。

看起来这些是同义词还是我错了?

【问题讨论】:

    标签: standards icalendar caldav rfc5545


    【解决方案1】:

    我的理解是(在上下文中)“发生”是由 RRULE 计算的时间点。

    “实例”是实际事件,会显示在日历中。由重复事件或单个事件产生的实例。

    并非重复事件的每一次“发生”都必须在一个实例中结束。通常是因为个别实例已被删除,但 RFC 似乎建议其他与时区相关的情况会被删除。

    示例:

    DTSTART:20160107
    RRULE;FREQ=DAILY;COUNT=5
    EXDATE:20160109
    

    大概 2016-01-09 会被称为 RRULE 的出现,但它不是一个实际的实例(5 个出现,4 个实例)。

    但正如 Marten 所说,它可能不是很相关,甚至可能没有在 RFC 中一致使用;-> 也许您可以解释一下您的问题的重点,还有其他内容吗?

    【讨论】:

    • 我的团队争论将 event/to-do/journal 扩展为实例的方法的名称。它必须考虑到 EXDATE。所以可能 GetInstances() 是正确的名称。
    • 我想它会是 GetInstancesInTimeRange(from, to) 因为你不能提前计算所有实例 ;-)
    【解决方案2】:

    RFC 5545 仅在重复事件的上下文中使用occurrence(如果您不计算有关某些属性/值出现次数的语句)。所以你可以说occurrence 是重复事件的instance。 您可能不会将单个事件称为 occurrence

    牛津词典说instance

    某事的一个例子或一次出现

    (我强调)

    这种支持上面的结论。

    但是,我认为就规格而言,这种区别几乎无关紧要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多