符合标准(V7)的 crontab 表达式解析器/验证器,支持时区

3.1.0 2023-11-23 21:56 UTC

README

Build Status Code Coverage License Latest Stable Version Total Downloads

符合标准(V7)的 crontab 表达式解析器/验证器,支持时区;有关可能的表达式,请参阅 "man 5 crontab"。

安装

使用 composer,在 composer.json 文件中添加 poliander/cron 的需求

composer require poliander/cron

示例

验证特定的 crontab 表达式

use Poliander\Cron\CronExpression;

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

检查给定的时间点是否与特定的 cron 表达式匹配

use Poliander\Cron\CronExpression;

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

匹配不同时区中的表达式

use Poliander\Cron\CronExpression;

$expression = new 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

计算下一个匹配星期五的13号的戳记

use Poliander\Cron\CronExpression;

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

支持的 PHP 版本

变更日志