Skip to content
PHP Date Recursion library
PHP
Find file
Latest commit 32a0b67 Mar 24, 2016 @tplaner Merge pull request #54 from lucidmeetings/unbounded
Add getOccurrencesBetween, getNextOccurrence, getPrevOccurrence

README.md

When

Date/Calendar recursion library for PHP 5.3+

Build Status

Author: Tom Planer

About

When version 2.

Installation

$ composer require tplaner/when
{
    "require": {
        "tplaner/when": "2.*"
    }
}

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.

Here are some basic examples.

// friday the 13th for the next 5 occurrences
$r = new When();
$r->startDate(new DateTime("19980213T090000"))
  ->freq("monthly")
  ->count(5)
  ->byday("fr")
  ->bymonthday(13)
  ->generateOccurrences();

print_r($r->occurrences);
// friday the 13th for the next 5 occurrences rrule
$r = new When();
$r->startDate(new DateTime("19980213T090000"))
  ->rrule("FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13")
  ->generateOccurrences();

print_r($r->occurrences);
// friday the 13th forever; see which ones occur in 2018
$r = new When();
$r->startDate(new DateTime("19980213T090000"))
  ->rrule("FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13");


$occurrences = $r->getOccurrencesBetween(new DateTime('2018-01-01 09:00:00'),
                                         new DateTime('2019-01-01 09:00:00'));
print_r($occurrences);

License

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

Something went wrong with that request. Please try again.