-
Notifications
You must be signed in to change notification settings - Fork 84
Home
Rémi Lanvin edited this page Jun 30, 2015
·
18 revisions
This library offers a small, complete, and very fast, implementation of the recurrence rules documented in the iCalendar RFC. It is heavily based on python-dateutil.
- Unlike documented in the RFC, and like in the Python version, the starting datetime (
DTSTART
) is not the first recurrence instance, unless it does fit in the specified rules. This behavior makes more sense than otherwise and is easier to work with. This will only change the results ifCOUNT
orBYSETPOS
are used. - The higher the frequency, the longer it takes to compute occurrences. So whenever possible, you should always use the lowest frequency possible. For example, to get "every day in january" it is slightly faster to write
['freq' => 'yearly',
bymonth' => 1,bymonthday' => range(1,31)]
rather than['freq' => 'daily','bymonth' => 1]
. - Computing all occurrences of rule might get noticeably slow with very high frequencies (
MINUTELY
orSECONDELY
) if the rule last a long period of time (such as many years).