A recurring event is an event that happens more than once, on a repeating schedule. When a repeating event is turned into individual event instances with individual dates, it is called “expanding” the event.
In the most low-tech case, you can expand your recurring events on your server side before sending them down to a json feed event source. However, if you’d like to expand your recurring events on the client-side, there are two different techniques you can use.
FullCalendar offers recurring event functionality out-of-the-box, but with a limited featureset. It allows for the following types of recurrence:
- every day, within an optional date range
- weekly, within an optional date range
To define recurrence, you specify additional properties when you define your events object:
The days of the week this event repeats. An array of integers. Each integer represents a day-of-week, with
What time-of-day this event starts. Something that will parse into a Duration. If defined,
What time-of-day this event ends. Something that will parse into a Duration. If omitted, your events will appear to have the default duration. See defaultAllDayEventDuration, defaultTimedEventDuration, and forceEventDuration for more info.
When recurrences of this event begin. Something that will parse into a Date. If not specified, recurrences will extend infinitely into the past.
When recurrences of this event end. Something that will parse into a Date. If not specified, recurrences will extend infinitely into the future.
This value is exclusive! I repeat, this value is exclusive!!! Just like every other end-date in the API. For all-day recurring events, make the
If any of these properties are specified, the event is assumed to be recurring and there is no need to specify the normal
Recurrence with fullcalendar-rrule
If the built-in recurrence functionality is too limited for you, you can leverage the rrule library. FullCalendar has a connector plugin to make it easy to work with.