fovxveym69 / cron-expression
计算CRON表达式的下一个执行日期。支持年和秒(计算crontab表达式下一个执行日期,支持年和秒)
v0.0.2
2023-08-31 02:27 UTC
This package is auto-updated.
Last update: 2024-09-30 01:57:43 UTC
README
计算CRON表达式的下一个执行日期。支持年和秒(计算crontab表达式下一个执行日期,支持年和秒)
实现
此实现的参考文档可在https://en.wikipedia.org/wiki/Cron#CRON_expression找到,这里(懒惰!)进行了复制粘贴,并对此实现有差异的地方进行了修改
Field name Mandatory? Allowed values Allowed special characters
---------- ---------- -------------- --------------------------
Seconds No 0-59 * / , -
Minutes Yes 0-59 * / , -
Hours Yes 0-23 * / , -
Day of month Yes 1-31 * / , -
Month Yes 1-12 * / , -
Day of week Yes 0-6 * / , -
Year No 1970–2099 * / , -
星号 (*)
星号表示cron表达式匹配字段的所有值。例如,在第四字段(月份)中使用星号表示每个月。
斜杠 (/)
斜杠描述范围的增量。例如,在分钟字段中使用3-59/15
表示小时中的第三分钟,以及之后的每15分钟。形式*/...
与形式"first-last/..."等价,即在该字段可能的最大范围内进行增量。
逗号 ( , )
逗号用于分隔列表中的项。例如,在日期字段中的3,4,5表示每个月的3号、4号和5号。
破折号 ( - )
破折号定义范围。例如,2000-2010表示公元2000年至2010年之间的每一年,包括2000年和2010年。
安装
将依赖项添加到您的项目中
composer require han-xuefeng/cron-expression
用法
示例1
<?php require_once '/vendor/autoload.php'; $cron = Cron\Cronexpr::parse('* * * * *'); echo $cron->next()->format('Y-m-d H:i:s');
示例2
<?php require_once '/vendor/autoload.php'; $cron = Cron\Cronexpr::parse('* * * * *'); // $cron->next()->format('Y-m-d H:i:s'); $cron->next('now','PRC')->format('Y-m-d H:i:s');
示例3
<?php require_once '/vendor/autoload.php'; // $cron = Cron\Cronexpr::parse('* * * * *'); $cron = Cron\Cronexpr::mustParse('* * * * *'); // $cron->next()->format('Y-m-d H:i:s'); // $cron->next('now','PRC')->format('Y-m-d H:i:s'); $cron->nextN('10'); //return array
需求
- PHP 7.1+