← 返回工具箱
⏰ Cron表达式生成器
当前表达式
* * * * *
每分钟执行一次
字段模式:
常用预设
📅 最近 10 次执行时间

📖 Cron 表达式语法详解

Cron 是 Unix/Linux 系统的任务调度器,通过一种简洁的字符串(Cron 表达式)来描述周期性任务的执行时间。各类编程语言、框架(Spring、Quartz、Node.js 的 node-cron 等)以及云平台都广泛采用 Cron 表达式。

字段结构

字段范围允许特殊字符示例
秒(可选)0–59* , - /30 → 第30秒
分钟0–59* , - /*/15 → 每15分钟
小时0–23* , - /9-17 → 9点到17点
日期1–31* , - / ?1,15 → 每月1日和15日
月份1–12* , - /3-6 → 3月到6月
星期0–6(0=周日)* , - / ?1-5 → 周一到周五

特殊字符说明

字符含义示例
*任意值(通配符)* 在分钟位 = 每分钟
,枚举多个值1,3,5 = 1、3、5
-连续范围1-5 = 1到5
/步长间隔*/10 = 每隔10个单位
?不指定(日/星期二选一)Quartz 风格

常用示例

表达式含义
* * * * *每分钟执行
0 * * * *每小时整点执行
0 0 * * *每天午夜 00:00 执行
0 9 * * 1-5工作日每天上午 9:00 执行
0 0 1 * *每月1日午夜执行
0 0 * * 0每周日午夜执行
*/5 * * * *每5分钟执行
0 8-18 * * 1-5工作日8点到18点每小时整点执行
30 9 1,15 * *每月1日和15日上午9:30执行
0 0 0 * * *每天0点0分0秒(6字段含秒)

5字段 vs 6字段

标准 Unix Cron 使用 5字段(分 时 日 月 周),不含秒。而 Quartz Scheduler、Spring @Scheduled、某些云平台使用 6字段(秒 分 时 日 月 周),在最前面增加了秒字段,精度更高。

💡 小贴士:日期(Day of Month)和星期(Day of Week)同时指定时,大多数 Cron 实现采用"或"逻辑(满足任一即触发)。如只想指定其中一个,另一个设为 *?(Quartz 风格)。

常见平台差异

平台字段数秒字段说明
Unix/Linux crontab5系统级调度,分钟为最小粒度
Quartz (Java)6–7有(第1位)还支持年份字段,最灵活
Spring @Scheduled6有(第1位)基于 Spring 任务调度
AWS EventBridge6无,但有年份特殊语法,日/周用 ? 互斥
GitHub Actions5标准 POSIX Cron,最小5分钟