Skip to main content

Recurrences

RRULE, RDATE, and EXDATE define repeating patterns with exceptions.

RRULE — Recurrence Rules

RRULE:FREQ=DAILY
RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR
RRULE:FREQ=MONTHLY;BYMONTHDAY=15
RRULE:FREQ=MONTHLY;BYDAY=2TU
RRULE:FREQ=YEARLY

Parameters

Parameter Description
FREQ Required: DAILY, WEEKLY, MONTHLY, YEARLY, etc.
INTERVAL Periods between recurrences
COUNT Max instances
UNTIL End date/datetime
BYDAY Days of week
BYMONTHDAY Days of month
BYSETPOS Nth from BY* set

Bounded

RRULE:FREQ=WEEKLY;COUNT=10
RRULE:FREQ=DAILY;UNTIL=20240315T000000Z

RDATE — Additional dates

RDATE:20240215T090000Z

EXDATE — Exception dates

RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR
EXDATE:20240115T090000Z

Modifying Instances

EXDATE the original, then create a new component with same UID + RECURRENCE-ID:

BEGIN:VEVENT
UID:meeting@example.com
RECURRENCE-ID:20240115T090000Z
DTSTART:20240115T140000Z
SUMMARY:Team Meeting (moved)
END:VEVENT
Edit this page on GitHub