Simple utility for testing dates against chained rules.
The recommended way to install ManDate is through
Composer. Require the pierswarmers/mandate
package
into your composer.json
file:
composer require "pierswarmers/mandate" dev-master
composer require "pierswarmers/mandate" dev-master
Or in your composer.json
file:
{
"require": {
"pierswarmers/mandate": "dev-master"
}
}
use ManDate\Mandate;
use ManDate\Rule\WeekdayRule;
use ManDate\Rule\DaytimeRule;
use ManDate\Rule\MorningRule;
$mandate = new Mandate();
$mandate
->andWhere(new WeekdayRule())
->andWhere(new DaytimeRule())
->andWhereNot(new MorningRule())
;
$date = new \DateTime('2015-03-02 11:30', new \DateTimeZone('Australia/Sydney'));
if ($mandate->validate($date)) {
echo 'It\'s a weekday afternoon!';
}
Rule | Details |
---|---|
AfternoonRule | Later than midday. |
CollisionRule | Collides with another date. |
DaytimeRule | After sunrise and before sunset. |
MorningRule | Earlier than midday. |
NighttimeRule | After sunset and before sunrise. |
WeekdayRule | Monday to Friday. |
WeekendRule | Saturday and Sunday. |