[caldeveloper-l] Timezone recurrence rule query

Paul Smith paul at pscs.co.uk
Mon Feb 10 03:58:36 PST 2020


I have a event with the following ICS source. My implementation of 
recurrence rules is interpreting the timezone as changing to BST on the 
first Sunday of March. It should be the last Sunday.

Most CalDAV clients seem to set the Timezone RRULE to

RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU

which is processed correctly, but this one just uses ...BYDAY=SU which 
is being processed as 'every Sunday in March' (as described in RFC 5545, 
section 3.3.10 ("If an integer modifier is not present, it means all 
days of this type within the specified frequency. For example, within a 
MONTHLY rule, MO represents all Mondays within the month")

So, the recurrence event on 3rd March 2020 is at 11:50 UTC, instead at 
12:50 UTC.

Other CalDAV viewers I've tried (Mac Calendar, Mozilla Lightning) seem 
to be handling it correctly, but I'm not sure if they're processing the 
Timezone recurrence in a different way to my implementation, or if 
they're just saying 'Hey, that's BST, I know what BST is, so I'll ignore 
the Timezone definition in the event and do it my own way'.

So, my question is: - should 'BYDAY=SU' be interpreted differently in a 
Timezone definition than in other places (if so, where is that 
described), or is the client which is generating this event getting it 
wrong?

--------------

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//LigatureTech LLC.//SimpleCal 1.0.0//EN\r+
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:DAYLIGHT
TZNAME:BST
TZOFFSETFROM:0000
TZOFFSETTO:0100
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=SU
DTSTART:19700329T010000
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:GMT
TZOFFSETFROM:0100
TZOFFSETTO:0000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=SU
DTSTART:19701025T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:c8687991-80fa-4c2a-b273-3fb2f72a4c7c
SUMMARY:test
DTSTART;TZID=Europe/London:20200129T125000
DTEND;TZID=Europe/London:20200129T135000
RRULE:FREQ=DAILY
DTSTAMP:20200129T142840Z
CREATED:20200129T111403Z
LAST-MODIFIED:20200129T142840Z
SEQUENCE:1
TRANSP:OPAQUE
DESCRIPTION:test event 12
END:VEVENT
END:VCALENDAR

--------------



-- 


Paul Smith Computer Services
Tel: 01484 855800
Vat No: GB 685 6987 53

Sign up for news & updates at http://www.pscs.co.uk/go/subscribe


More information about the caldeveloper-l mailing list