Download the PHP package tplaner/when without Composer
On this page you can find all versions of the php package tplaner/when. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package when
Short Description Date/Calendar recursion library.
License MIT
Homepage https://github.com/tplaner/When
Informations about the package when
When
Date/Calendar recursion library for PHP 7.1+
Author: Tom Planer
Installation
Current Features
When offers full support for RFC5455 Recurrence Rule features (and some bonus features). Please check the unit tests for information and examples about how to use it.
Here are some basic examples.
InvalidStartDate Exception: The start date must be the first occurrence
According to the specification the starting date should be the first recurring date. This can often be troublesome, especially if you're generating the recurring dates from user input as it will throw an exception. You can disable this functionality easily:
Additional examples:
Performance
When is pretty fast, and shouldn't be able to loop infinitely. This is because the gregorian calendar actually repeats fully every 400 years. Therefore, this is an imposed upper limit to When, it will not generate occurrences more than 400 years into the future, and if it can't find a match in the next 400 years the pattern just doesn't exist.
By default, we do not generate more than 200 occurrences, though this can be configured simply by specifying a higher COUNT
or by modifying the $rangeLimit
prior to calling generateOccurrences()
:
The following is a pretty intensive benchmark the final occurrence is in the year 2254. On my machine this generates the results in about 0.28s
.
COUNT
with an UNTIL
, only 5 Friday the 13ths from 2021 to 2025.
Limiting by $rangeLimit
: