Skip to content
/ cron Public
forked from poliander/cron

Parse and validate crontab expressions in PHP

License

Notifications You must be signed in to change notification settings

shuipf/cron

 
 

Repository files navigation

PHP Cron Expression Parser

Build Status Code Coverage License Latest Stable Version Total Downloads

Standard (V7) compliant crontab expression parser/validator with support for time zones; see "man 5 crontab" for possible expressions.

Installation

Using composer, add a requirement for poliander/cron to your composer.json file:

composer require poliander/cron

Examples

Validate a certain crontab expression:

$expression = new \Cron\CronExpression('15,45 */2 * * *');
$isValid = $expression->isValid(); // returns true

Check whether a given point in time is matching a certain cron expression:

$expression = new \Cron\CronExpression('45 9 * * *');
$dt = new \DateTime('2014-05-18 09:45');
$isMatching = $expression->isMatching($dt); // returns true

Match an expression across different time zones:

$expression = new \Cron\CronExpression('45 9 * * *', new DateTimeZone('Europe/Berlin'));
$dt = new \DateTime('2014-05-18 08:45', new DateTimeZone('Europe/London'));
$isMatching = $expression->isMatching($dt); // returns true

Calculate next timestamp matching a Friday, the 13th:

$expression = new \Cron\CronExpression('* * 13 * fri');
$when = $expression->getNext();

Changelog

version release notes
1.0.0 (2015-06-20) initial release
1.1.0 (2016-06-11) dropped PHP 5.4 support
1.2.0 (2016-12-11) added PHP 7.1 support
1.2.1 (2017-05-25) fixed #3
1.2.2 (2017-06-03) fixed #3, #4
2.0.0 (2017-11-30) dropped PHP 5.x, added PHP 7.2 support, added vendor namespace (closes #2)
master updated PHPUnit dependency to 6.*

About

Parse and validate crontab expressions in PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%