以下事件引发了这个问题。
BEGIN:VEVENT
UID:483b7d72-7412-4aca-92f1-b7bf427a9c5a
RRULE:FREQ=DAILY;COUNT=3;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR
SUMMARY:tes
DTSTART;TZID="Asia/Tokyo":20131215T000000
DTEND;TZID="Asia/Tokyo":20131215T003000
STATUS:CONFIRMED
CLASS:PUBLIC
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
TRANSP:OPAQUE
X-MICROSOFT-DISALLOW-COUNTER:TRUE
DTSTAMP:20130606T064916Z
SEQUENCE:2
END:VEVENT
对于此事件,谷歌图书馆(rfc2445-4Mar2011.jar)返回4天重复。
输出日期为20131215T000000,20131216T000000,20131217T000000,20131218T000000
但我将此事件的rrule计数设为3。即便如此,我有4个重复的日子。
请帮我解决这个问题。
答案 0 :(得分:1)
这确实是库中的一个错误
rfc2445§3.1.10
COUNT规则部分定义了对重复范围进行范围限制的出现次数。 “DTSTART”属性值(如果指定)将计为第一次出现。
甚至取代它的rfc5545也表示§3.3.10
COUNT规则部分定义了对重复范围进行范围限制的出现次数。 “DTSTART”属性值始终计为第一次出现。
从中可以清楚地看出,复发清单将是:
20131215T000000,20131216T000000,20131217T000000
答案 1 :(得分:0)
只能确认这是您图书馆中的错误。为了它的价值,ical4j正确地扩展了这个RRULE。
答案 2 :(得分:0)
您的DTSTART不适合您的RRULE:DTSTART是星期日,但您的RRULE将日期限制为星期一 - >星期五。鉴于此,我怀疑不同的代码库会以不同的方式解释这一点。您应该强烈考虑更改您的活动,以使其更具标准性。