Conversion of COUNT to UNTIL was a simple calculation which assumed one repetiton per period (day, week, month or year); it does not take exception days and invalid dates into account. Solved by a new function which returns the n'th occurrence of a recurrence rule. In calcurse UNTIL is interpreted as a day (DATE), in RFC 5545 as a time of day (DATE-TIME). This has implications when a recurrence rule has an occurrence on the UNTIL day, see comment in ical.c An "Import:" note is added when a multi-day event is imported and turned into a calcurse all-day event. Icalendar quotes in comments have been updated to RFC 5545. Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk> Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
BEGIN:VCALENDAR
|
|
VERSION:2.0
|
|
BEGIN:VEVENT
|
|
DTSTART:20000101T000000
|
|
DURATION:PT1H30M0S
|
|
RRULE:FREQ=DAILY;INTERVAL=2;UNTIL=20000201T000000;WKST=SU
|
|
EXDATE:20000115T000000,20000123T000000
|
|
SUMMARY:Recurring appointment
|
|
END:VEVENT
|
|
BEGIN:VEVENT
|
|
DTSTART:20000101T000000
|
|
DURATION:PT1H30M0S
|
|
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20000201T000000;WKST=SU
|
|
EXDATE:20000122T000000
|
|
SUMMARY:Weekly appointment
|
|
END:VEVENT
|
|
BEGIN:VEVENT
|
|
DTSTART:20000201T000000
|
|
DURATION:PT1H30M0S
|
|
RRULE:FREQ=DAILY;INTERVAL=2;UNTIL=20000301T000000;WKST=SU
|
|
EXDATE:20000215T000000
|
|
EXDATE:20000223T000000
|
|
SUMMARY:Recurring appointment
|
|
END:VEVENT
|
|
BEGIN:VEVENT
|
|
DTSTART:20200526T120000
|
|
DURATION:PT1H17M0S
|
|
RRULE:FREQ=DAILY;UNTIL=20200529T130000
|
|
SUMMARY: until May 29 2020\, 13:00
|
|
END:VEVENT
|
|
BEGIN:VEVENT
|
|
DTSTART:20200526T120000
|
|
DURATION:PT1H17M0S
|
|
RRULE:FREQ=DAILY;UNTIL=20200529T110000
|
|
SUMMARY: until May 29 2020\, 11:00
|
|
END:VEVENT
|
|
BEGIN:VEVENT
|
|
DTSTART:20200531T214500
|
|
DURATION:PT15M0S
|
|
RRULE:FREQ=MONTHLY;COUNT=10
|
|
EXDATE:20200731T214500,20210131T214500
|
|
SUMMARY:monthly on 31th\, count 10\, exceptions 31/7/2020 and 31/1/2021
|
|
END:VEVENT
|
|
BEGIN:VEVENT
|
|
DTSTAMP:
|
|
UID:
|
|
DTSTART;VALUE=DATE:20200502
|
|
DTEND;VALUE=DATE:20200504
|
|
DESCRIPTION:The first weekend in May is a two-day event.
|
|
SUMMARY:First weekend in May
|
|
END:VEVENT
|
|
END:VCALENDAR
|