ICal

时间:2017-08-15 12:32:22

标签: icalendar

问题

某些重复发生的事件,在某些时候真的不会结束(如俱乐部会议?),取决于其他条件(如假日季节)。但是,每年都需要手动添加这些例外,因为日期可能不同。

研究

  • 我发现了exdate(请参阅维基百科"iCalendar components and their properties"(2)的图片)
  • 还找到了一些可行的解决方法:'只需编写script来处理此类事件'。这仍然意味着我需要手动处理.ics并将其导入我的日历,这意味着一些限制:
    • 无法确定所有时间跨度(例如假期未固定超过三年)
    • 这些事件可能是分开的,而不是重复发生/'分组',这使得进一步编辑更难

问题

  

有没有办法在iCal中指定重复出现的异常?

  • 为了澄清,我有一个重复发生的事件重复发生的异常。
  • 例如,我有一个无限重复的每周事件,这取决于月份;它可能只发生如果它不是,例如1月,8月或12月。
  

有没有办法使用另一个事件(/ calendar)按布尔逻辑过滤事件?

如果可以使用第二个事件(或几个)插入exdate,这将解决第一个问题,并增加更多可能性。

注意
如果这个问题太具体而原始问题可以通过其他方式(其他日历格式)解决,请随时评论/编辑/回答

1 个答案:

答案 0 :(得分:3)

RFC2445 defines an EXRULE(例外规则)属性。除了RRULE之外,您还可以使用它来定义重复出现的异常。

但是,RFC2445已被RFC5545, which unfortunately deprecates the EXRULE属性取代。因此,客户支持是值得怀疑的。

正如您已经提出的,自动添加EXDATE属性是一种可能的解决方案。