Date/Calendar recursion library.

Installs: 5 014

Dependents: 0

Stars: 3

Watchers: 1

Forks: 53

Open Issues: 3

Language: PHP

1.0.3 2014-03-07 11:09 UTC

README

A PHP library, managed by Composer, for RFC-2445 RRule date recursion - written by Zander Baldwin, adapted from the original version by Tom Planer.

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)

About

The second version of When.

Current Features

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);

License

When is licensed under the MIT License, see LICENSE for specific details.