0

例子:

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

4

1 回答 1

0

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

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

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

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

即,为了将活动扩展到每年 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

这是该规则的前 100 个实例。尽管某些 RRULE 实现可能无法正确支持这一点。

于 2016-05-04T13:52:18.563 回答