关于 Cron Expression

mtdowling/cron-expression 是专业的 Cron 表达式解析、验证扩展包,支持解析定时任务规则、计算下次执行时间,完美适配网站后台定时任务,如定时推送、定时更新内容、定时清理数据等场景。

安装命令 composer require mtdowling/cron-expression
立即使用 Cron 表达式生成器

解析 Cron

解析标准 Cron 表达式,支持5位和6位格式

验证 Cron

验证 Cron 表达式的语法正确性

计算下次运行时间

根据 Cron 表达式计算下次执行时间

使用场景

定时推送

定时推送消息、通知、邮件给用户

定时更新

定时更新网站内容、缓存刷新

定时清理

定时清理过期数据、日志文件

定时统计

定时生成报表、统计数据汇总

Cron 表达式格式

* * * * * *
位置 字段 允许值 特殊字符
1 秒 (可选) 0-59 * / , -
2 分钟 0-59 * / , -
3 小时 0-23 * / , -
4 日期 1-31 * / , - ? L W
5 月份 1-12 * / , -
6 星期 0-7 * / , - ? L #

使用示例

解析并验证

验证 Cron 表达式是否有效

use Cron\CronExpression;

$cron = CronExpression::factory('* * * * *');
var_dump($cron->isValid());
输出:bool(true)

下次执行时间

计算下次执行时间

$cron = CronExpression::factory('0 0 * * *');
echo $cron->getNextRunDate()->format('Y-m-d H:i:s');
输出:2025-06-15 00:00:00

获取多个执行时间

获取接下来的多个执行时间

$cron = CronExpression::factory('0 8,12,18 * * *');
$dates = $cron->getMultipleRunDates(5);
foreach($dates as $date) {
  echo $date->format('Y-m-d H:i:s');
}
输出:5个执行时间

适合人群

PHP 开发者
网站后台开发
定时任务配置
运维工程师