Cron表达式生成器 - 在线Cron解析与执行时间计算工具
Cron表达式是一个由时间字段组成的字符串,用于定义任务的执行时间计划。标准格式:由6个或7个时间字段组成,每个字段包含数字、特殊字符和运算符(* - , / ? L W #),字段之间用空格分隔。 填写控件轻松生成Cron表达式
实时便捷生成表达式及最近10次运行时间
秒
分钟
小时
日
月
周(星期)
年
Cron 表达式:
最近 10 次执行时间点:
Cron 表达式结构图示:
* * * * * * *
┬ ┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │ └─ 年(可选)
│ │ │ │ │ └─ 星期 (0-7, 1L-7L,0/7 为周日)
│ │ │ │ └─ 月份 (1-12, JAN-DEC)
│ │ │ └─ 日 (1-31, L)
│ │ └─ 小时 (0-23)
│ └─ 分钟 (0-59)
└─ 秒 (0-59 传统 cron 在绝大多数 Unix / Linux 系统上都是「没有秒」这个字段的)
特殊字符说明:
| 字符 | 说明 | 示例 |
|---|---|---|
| * | 匹配任意值 | * 在分钟字段中表示每分钟执行 |
| , | 分隔多个值 | 1,3,5 在小时字段中表示 1 点、3 点和 5 点执行 |
| / | 指定间隔值 | */5 在分钟字段中表示每 5 分钟执行一次 |
| - | 指定范围 | 10-20 在日期字段中表示从 10 号到 20 号 |
| ? | 不指定具体值,仅用于日期或星期字段 | ? 在日或星期字段中表示不指定具体值 |
| L | 最后,用于日或星期字段 | L 在日字段中表示当月最后一天,L 在星期字段中表示该月最后一个星期 X |
| W | 最近工作日,仅用于日字段 | 15W 在日字段中表示离 15 号最近的工作日(周一到周五) |
| # | 指定第几个星期几,仅用于星期字段 | 5#3 在星期字段中表示每月第 3 个星期五 |
常用 Cron 表达式示例
0/2 * * * * ?每 2 秒执行任务
0 0/2 * * * ?每 2 分钟执行任务
0 0 2 1 * ?每月 1 日的凌晨 2 点执行任务
0 15 10 ? * MON-FRI周一到周五每天上午 10:15 执行任务
0 0 10,14,16 * * ?每天上午 10 点、下午 2 点、4 点执行任务
0 0/30 9-17 * * ?朝九晚五工作时间内每半小时执行任务
0 0 12 ? * WED每个星期三中午 12 点执行任务
0 0 12 * * ?每天中午 12 点执行任务
0 15 10 ? * *每天上午 10:15 执行任务
0 15 10 * * ?每天上午 10:15 执行任务
0 15 10 * * ? 20052005 年每天上午 10:15 执行任务
0 * 14 * * ?每天下午 2 点到 2:59 期间的每分钟执行任务
0 0/5 14 * * ?每天下午 2 点到 2:55 期间的每 5 分钟执行任务
0 0/5 14,18 * * ?每天下午 2 点到 2:55 和下午 6 点到 6:55 期间的每 5 分钟执行任务
0 0-5 14 * * ?每天下午 2 点到 2:05 期间的每分钟执行任务
0 10,44 14 ? 3 WED每年 3 月的星期三下午 2:10 和 2:44 执行任务
0 15 10 ? * MON-FRI周一至周五上午 10:15 执行任务
0 15 10 15 * ?每月 15 日上午 10:15 执行任务
0 15 10 ? * 6#3每月第三个星期五上午 10:15 执行任务
功能使用
先在“秒、分钟、小时、日、月、周、年”7个字段中按需设置规则,系统会实时拼接完整 Cron 表达式。 配置完成后点击“运行表达式”,即可查看未来 10 次执行时间,便于快速校验调度是否符合预期。
如果你需要更复杂的配置,可结合下方“特殊字符说明”和“常用表达式示例”进行组合。 推荐在上线前至少验证一次边界时间(如月底、跨月、周末)来避免误触发。
常见问题 FAQ
Cron 表达式是几位?
常见为 6 位(秒 分 时 日 月 周),也支持带年字段的 7 位表达式。
“日”和“周”字段为什么经常一个用 ?
在 Quartz 风格中,日与周通常一个指定具体值,另一个使用 ? 表示不指定,避免冲突。
这个工具会上传我输入的表达式吗?
不会。表达式生成与下一次执行时间计算均在本地浏览器内完成。
为什么有些表达式计算失败?
通常是字段组合不合法或越界。可先用示例表达式验证,再逐步调整对应字段。
