小编Dor*_*zyk的帖子

使用BYDAY和BYSETPOS进行RRULE解释

我正在尝试解析一个RRULE并显示一个月内重复事件有效的几周.我查看了RFC2445 doc(http://www.ietf.org/rfc/rfc2445.txt)并且不是那么清楚.

我知道例如规则:

RRULE FREQ=MONTHLY;INTERVAL=1;BYDAY=TH,FR,WE;BYSETPOS=10,11,12,7,8,9,1,2,3,4,5,6
Run Code Online (Sandbox Code Playgroud)

是星期三,星期五,星期五,在本月的第1,第2,第3和第4周.

要么

RRULE FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,MO;BYSETPOS=3,4,5,6;
Run Code Online (Sandbox Code Playgroud)

是在本月的第2周和第3周的周一和周二.

要么

RRULE FREQ=MONTHLY;INTERVAL=1;BYDAY=TH,WE;BYSETPOS=-1,-2
Run Code Online (Sandbox Code Playgroud)

是在本月的最后一周的周三和周四.

我通过另一个程序生成了这些,但我不确定它是如何实际生成它们的.

因此,我遇到的问题是了解BYSETPOS如何描述一个月的复发周.最终目标是能够解析如上所述的RRULE并显示如下:

对于: RRULE FREQ=MONTHLY;INTERVAL=1;BYDAY=TH,FR,WE;BYSETPOS=10,11,12,7,8,9,1,2,3,4,5,6

节目: Thur,Friday,Wed on week:1,2,3,4

对于: RRULE FREQ=MONTHLY;INTERVAL=1;BYDAY=TU,MO;BYSETPOS=3,4,5,6;

节目: Tues, Monday on week:2,3

对于: RRULE FREQ=MONTHLY;INTERVAL=1;BYDAY=TH,WE;BYSETPOS=-1,-2

节目: Whu,Wed on last week

最好的解决方案是objective-c中的一个字符串,但是如果它是另一种C语言,我可以弄明白.即使只是解释BYSETPOS如何与BYDAY一起工作也会很棒.

sql date rrule

1
推荐指数
1
解决办法
2654
查看次数

标签 统计

date ×1

rrule ×1

sql ×1