Consider the following Repeat event in Google Calendar with the RRULE as mentioned below.
BEGIN:VEVENT
DTSTART;TZID=Asia/Calcutta:20170111T020000
DTEND;TZID=Asia/Calcutta:20170111T050000
RRULE:FREQ=DAILY;UNTIL=20170116T203000Z
DTSTAMP:20170110T150957Z
CREATED:20170110T150942Z
DESCRIPTION:
LAST-MODIFIED:20170110T150942Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Repeat event test
TRANSP:OPAQUE
END:VEVENT
If this event is now edited by breaking the recurrence series into two parts(Edit this and future events) on say 14th Jan, the RRULE of this event is changed to the following
RRULE:FREQ=DAILY;UNTIL=20170113T182959Z
Why is the value of UNTIL set to 1 second less than the RECURRENCEID/DTSTART value of the recurrence on 14th January instead of setting it to the DTSTART value of the recurrence on 13th January. Is there a standard that the UNTIL value in RRULE in such cases must be set in this manner (i.e. 1 second less)?