我正在寻找一种在icalendar中表达这种情况的方式:事件发生在每个月,即给定日期后x天。
例如:每个月的第15天后20天。所以,它可能是3日,4日,5日,6日(如2月) 如果bymonthday可以设置为35,那就没问题。但在展望中,这不会起作用。 如何解决这个问题?
答案 0 :(得分:0)
您可以尝试添加&#34 ;; BYSETPOS = 20"遵守规则。规范显示了BYSETPOS与BYDAY一起使用时的一个例子,但是我不清楚在使用BYMONTHDAY时它是如何处理的。我没有看到另一个查看规范的选项。
http://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html
http://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html
答案 1 :(得分:0)
抱歉,使用RRULE无法获得所需内容。
你想要的是RRULE:FREQ = MONTHLY; BYMONTHDAY = 35。不幸的是,它无效 - BYMONTHDAY不能超过31。
BYSETPOS也不会工作。在RFC 5545中,BYSETPOS下的第43页如下: " BYSETPOS在重复规则的一个区间内对一组重复实例进行操作。" 这意味着您无法获得超出间隔的值。如果您使用每月,则仅限一个月。
如果您想尝试一些RRULE,请尝试我的重复规则(RRULE解析器) http://balsoftware.net/index.php/open-source/rrule-parser/