是否可以为每年从开始日/月到结束日/月每2周重复一次的事件定义一个rrule(RFC5545)?

时间:2016-05-04 12:34:39

标签: calendar rfc5545 rrule

示例:

每年1月15日至5月10日期间每周一重复一次。

1 个答案:

答案 0 :(得分:0)

我不这么认为。这是离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日期间的每个第2个星期一,您可以这样做:

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实现可能不能正确支持。