Download the PHP package obokaman/dateranger without Composer
On this page you can find all versions of the php package obokaman/dateranger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download obokaman/dateranger
More information about obokaman/dateranger
Files in obokaman/dateranger
Package dateranger
Short Description Object Oriented calendar management
License MIT
Homepage https://github.com/obokaman/dateranger
Informations about the package dateranger
DateRanger
DateRanger library offer an easy way to create date ranges, allowing to create your own special ranges extending DateRange
or reuse the basic ones included in the library itself (Year
, Month
, Week
or Day
). This library was inspired by others like Calendr by Yohan Giarelli or Period by The PHP League
Installation
DateRanger is available on packagist, so you can easily install with Composer.
Just run the following command:
or include the library in your project's composer.json:
Example
Basic usage
Library provides several date range objects that extends from DateRange
. All these objects share some functionality:
start()
return a DateTimeImmutable object with the start date for the period.end()
return a DateTimeImmutable object with the end date for the period.getPeriod(string $interval)
returns a DatePeriod object based on the current DateRange, following the given interval in string format (same values accepted by DateInterval constructor).overlaps(DateRange $period)
returns a boolean indicating if period overlaps with other DateRange passed as argument.isCurrent()
returns a boolean indicating if period is the current one: current year, month, week or day, depending on the class being used.equals(DateRange $period)
compares start and end dates between current period and the one passed as argument.
As told above, all date range objects extend from DateRange
, wich implements Iterator
and Countable
, so it's possible to iterate through their "children periods" directly using foreach
or know how many of them are contained by using count
.
For instance:
Contribute
Comments, feedback and PR are more than welcome!