Period
is PHP's missing time range API. This package covers all basic operations regarding time ranges.
- Represents Interval and Bounds as immutable value objects or enumeration
- Exposes named constructors to ease instantiation
- Covers all basic manipulations related to time range
- Enables working with simple or complex time ranges logic
- Fully documented
- Framework-agnostic
Full documentation can be found at period.thephpleague.com.
You need PHP >= 8.1.0 but the latest stable version of PHP is recommended.
Install Period
using Composer.
$ composer require league/period
or download the library and:
- use any other PSR-4 compatible autoloader.
- use the bundle autoloader script as shown below:
require 'path/to/period/repo/autoload.php';
use League\Period\Datepoint;
Datepoint::fromDateString('2012-05-23')->month()->toIso80000('Y-m-d');
//returns [2012-05-01, 2012-06-01)
where path/to/period/repo
represents the path where the library was extracted.
Period
has:
- a PHPUnit test suite
- a code analysis compliance test suite using PHPStan.
- a coding style compliance test suite using PHP CS Fixer.
To run the tests, run the following command from the project folder.
$ composer test
Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please email nyamsprod@gmail.com instead of using the issue tracker.
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see LICENSE for more information.