poliander / cron
符合标准(V7)的 crontab 表达式解析器/验证器,支持时区
3.1.0
2023-11-23 21:56 UTC
Requires
- php: 8.1.* || 8.2.* || 8.3.*
Requires (Dev)
- phpunit/phpunit: ~10.0
README
符合标准(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();