Date/Calendar recursion library.
Update Friday, 7th March 2014:
The commercial project that this library is being used for is coming to an end; up until now the library was extremely biased towards working at the minimal requirements for that one project.
Version 2 is now being written which will fix all known bugs (there are a lot of bugs), comprehensive unit tests and complete documentation. Expect this to be released around June/July.
Original README (by Tom Planer)
The second version of When.
Currently this version does everything version 1 was capable of, it also supports byhour, byminute, and bysecond. Please check the unit tests for information about how to use it.
I will be replacing version 1 with this as soon as I complete the documentation. Until then here are some simple examples:
<?php use \When\DateTime as When; // friday the 13th for the next 5 occurences $r = new When('19980213T090000'); $occurences = $r->freq(When::MONTHLY) ->count(5) ->byday(When::FRIDAY) ->bymonthday(13) ->generate(); print_r($occurences);
<?php use \When\DateTime as When; // friday the 13th for the next 5 occurences rrule $r = new When(); $occurences = $r->startDate(new DateTime('19980213T090000')) ->rule("FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13") ->generate(); print_r($occurences);
When is licensed under the MIT License, see
LICENSE for specific details.