是否可以为每年从开始 day/month 到结束 day/month 每 2 周重复一次的事件定义规则 (RFC5545)?

Can an rrule (RFC5545) be defined for an event that repeats every 2 weeks from a start day/month to an end day/month, every year?

示例:

在每年的 1 月 15 日至 5 月 10 日期间,每两周的星期一重复一次。

我不这么认为。这是您可以获得 IMO 的最接近的值:

DTSTART;VALUE=DATE:20160115
RRULE:FREQ=YEARLY;BYWEEKNO=3,5,7,9,11,13,15,17,19;BYDAY=MO

不幸的是,这将在某些年份的 1 月 13 日或 14 日展开,这也意味着该年的所有其他实例将关闭一周(参见 the first 100 instances)。我认为有几个日期是正确的(因为一年中的某些日子总是在同一个日历周)。

唯一的方法是,如果范围的开始和结束日期与一个月的开始和结束相匹配。

即,为了将活动扩展到每年 1 月 1 日至 5 月 31 日之间的每个第二个星期一,您可以这样做:

DTSTART;VALUE=DATE:20160101
RRULE:FREQ=YEARLY;BYMONTH=1,2,3,4,5;BYDAY=MO;BYSETPOS=1,3,5,7,9,11,13,15,17,19,21,23,25,27

Here are the first 100 instances of that rule。尽管某些 RRULE 实现可能无法正确支持这一点。