Recurrence Date/Times

Basic Definition | Description| | Example

Basic Definition

Property Name
This property defines the list of date/times for a recurrence set.
Value Type
The default value type for this property is DATE-TIME. The value type can be set to DATE or PERIOD.
Property Parameters
Non-standard, value data type and time zone identifier property parameters can be specified on this property.
The property can be specified in "VEVENT", "VTODO", "VJOURNAL" or "VTIMEZONE" calendar components. Description: This property can appear along with the "RRULE" property to define an aggregate set of repeating occurrences. When they both appear in an iCalendar object, the recurring events are defined by the union of occurrences defined by both the "RDATE" and "RRULE". The recurrence dates, if specified, are used in computing the recurrence set. The recurrence set is the complete set of recurrence instances for a calendar component. The recurrence set is generated by considering the initial "DTSTART" property along with the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained within the iCalendar object. The "DTSTART" property defines the first instance in the recurrence set. Multiple instances of the "RRULE" and "EXRULE" properties can also be specified to define more sophisticated recurrence sets. The final recurrence set is generated by gathering all of the start date/times generated by any of the specified "RRULE" and "RDATE" properties, and excluding any start date/times which fall within the union of start date/times generated by any specified "EXRULE" and "EXDATE" properties. This implies that start date/times within exclusion related properties (i.e., "EXDATE" and "EXRULE") take precedence over those specified by inclusion properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are generated by the "RRULE" and "RDATE" properties, only one recurrence is considered. Duplicate instances are ignored.


Format Definition

The property is defined by the following notation:

  rdate      = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF

  rdtparam   = *(

             ; the following are optional,
             ; but MUST NOT occur more than once

             (";" "VALUE" "=" ("DATE-TIME" / "DATE" / "PERIOD")) /
             (";" tzidparam) /

             ; the following is optional,
             ; and MAY occur more than once

             (";" xparam)


  rdtval     = date-time / date / period
  ;Value MUST match value type


The following are examples of this property: