是否指定了 iCalendar (.ics) 中的事件顺序

Is order of events in iCalendar (.ics) specified

我可以相信 iCalendar 中的事件是按开始日期降序排列的吗?我检查了 iCalendar RFC,但我没有看到他们谈论如何订购 VEVENT

我的 Google 测试日历按出现时间从早到晚的顺序列出它们可能只是巧合。

不,你不能依赖事件的顺序。我见过来自不同应用程序的各种订购。如果没有像您发现的那样指定,开发人员会做各种事情,StartDates 也可能很尴尬,例如:实例修改的重复事件。

另请注意,一个事件的全貌可能由多个 VEVENTS 组成。 例如,一个重复发生的事件可能有一个 VEVENT 和 RRULE,那么 RRULE 实例的修改也可能在具有相同 UID 的文件中,但也有更新的 SEQUENCE 和 RECURRENCE-ID,可能还有 LAST-MODIFIED

理论上,即使是正常的非重复事件也可以在文件中有另一个 VEVENT 修饰符,尽管我认为我没有看到应用程序问题。如果过时的 VEVENT 完全被修改过的 VEVENT 取代,他们通常会放弃它。