Home

RRULE

RRULE stands for Recurrence Rule and is a fundamental part of the iCalendar data format used to describe repeating events. It is expressed as a string assigned to the RRULE property of a VEVENT or VTODO component and consists of key=value pairs separated by semicolons. The FREQ key is required and defines the frequency of repetition, with values such as SECONDLY, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, or YEARLY. Additional keys control the end of the recurrence (UNTIL or COUNT), the spacing between occurrences (INTERVAL), and how dates are filtered within each period (BYDAY, BYMONTH, BYMONTHDAY, BYWEEKNO, BYYEARDAY, BYHOUR, BYMINUTE, BYSECOND, BYSETPOS, and related variants).

UNTIL specifies an end date/time for the series, while COUNT sets a maximum number of occurrences. INTERVAL

RDATE can be used alongside RRULE to include additional dates outside the primary rule. RRULEs are evaluated

Understanding RRULEs enables precise sharing and synchronization of repeating events across calendar applications.

indicates
the
gap
between
repetitions;
for
example
FREQ=WEEKLY;INTERVAL=2
means
every
other
week.
BYxxx
parts
refine
the
pattern,
such
as
BYDAY
to
pick
specific
weekdays
(e.g.,
FREQ=WEEKLY;BYDAY=MO,WE,FR
for
Mondays,
Wednesdays,
and
Fridays)
or
BYMONTHDAY
to
select
certain
days
of
the
month.
Complex
rules
can
combine
multiple
BY
components
or
use
BYSETPOS
to
select
specific
occurrences
within
a
period.
from
the
event’s
DTSTART,
and
the
resulting
instances
typically
respect
the
event’s
time
zone.
While
broadly
supported,
implementations
may
vary
in
handling
certain
BY
rules
and
edge
cases.