我正在尝试以编程方式在日历中添加事件。我希望该活动每年重复一次,例如二月的每个第一个星期一。我使用的规则是这样的:
FREQ=YEARLY;BYDAY=1MO;BYMONTH=2;INTERVAL=1;COUNT=11;
问题是:如果我创建事件的开始日期在一月,并将其设置为每年一月重复,那么它工作正常。但是,如果我在除 2 月以外的其他月份创建开始日期的事件,并将其设置为按照相同的规则重复,则该事件不会在星期一重复,而是在其他日期重复。那一天会有所不同,具体取决于事件的开始日期是哪个月份。似乎它计算天数,因为在闰年,这一天会改变一。
更新:
我注意到,如果我创建如上所述的事件,则会发生以下情况:如果我在 2 月创建事件并设置为在 3 月重复,则规则从DTSTART
事件发生的蛾子获取月份中的天数设置(二月)。因此,如果我在 2 月创建一个事件并将其设置为在 3 月的最后一天重复,它将在 3 月 28 日或闰年的 29 日重复(而不是预期的 31 日)。
另一个例子:我DTSTART
在 2013 年 1 月创建事件并将其设置为在 2 月的每个第一个星期一重复。它在 2013 年 2 月的日期创建事件,该日期对应于 2013 年 1 月的第一个星期一,在本例中为 2 月 7 日(因为 1 月 7 日是 2013 年 1 月的第一个星期一)。每年二月的第一个星期四将重复该活动。