在线Cron表达式生成器 | 定时任务表达式在线工具
免费在线Cron表达式生成工具,支持Linux、Spring、Quartz等多种格式,提供可视化配置、表达式验证、执行时间预览和详细的使用教程。适用于定时任务、调度系统的配置管理。
Cron类型
常用模板
每5分钟执行
每天5点执行
每周六凌晨1点执行
周一至周五的上午10:15触发
在每天上午10点到10:59期间的每1分钟触发
每天上午10点,下午2点,4点
朝九晚五工作时间内每半小时
每月15日上午10:15触发
每天23点执行一次
分
时
日
月
周
表达式:
含义:
每分钟, 每小时, 每天
预览
使用说明
Cron 表达式生成器可以帮助你创建定时任务的执行计划。
- 选择 Cron 类型(Linux、Spring 或 Quartz)
- 设置各个时间字段的值
- 查看生成的表达式和预览
- 可以直接使用常用模板快速生成表达式
Cron 表达式详解
基础格式
Cron 表达式是一个字符串,由 5-7 个空格分隔的字段组成。
字段 | 说明 | 是否必填 | 允许值 | 示例 |
---|---|---|---|---|
秒 | 一分钟内的第几秒 | Spring/Quartz | 0-59 | 0, 30, */5 |
分 | 一小时内的第几分钟 | 是 | 0-59 | 0, 15, */15 |
时 | 一天内的第几小时 | 是 | 0-23 | 0, 12, */2 |
日 | 一个月内的第几天 | 是 | 1-31 | 1, 15, L |
月 | 一年内的第几个月 | 是 | 1-12 | 1, 6, * |
周 | 一周内的星期几 | 是 | 0-7 | 1, MON, * |
年 | 具体的年份 | Quartz可选 | 1970-2099 | 2024, * |
特殊字符说明
字符 | 说明 | 示例 |
---|---|---|
* | 表示所有可能的值 | 在小时字段中,* 表示每小时 |
, | 用于列举多个值 | 在分钟字段中,1,15,30 表示第1、15、30分钟 |
- | 表示一个范围 | 在小时字段中,9-17 表示上午9点到下午5点 |
/ | 表示增量值 | 在分钟字段中,0/15 表示每15分钟 |
L | 用于日期字段,表示月份的最后一天;用于星期字段,表示7或SAT | 在日期字段中,L 表示最后一天 |
W | 表示最近的工作日 | 15W 表示离15号最近的工作日 |
# | 用于指定月份中的第几个星期几 | 6#3 表示第三个星期五 |
? | 只能用在"日"和"周"字段。因为"日"和"周"会相互影响,所以其中一个指定值后,另一个必须用"?"占位。比如,指定每月15号执行时,"周"字段就要用"?";指定每周一执行时,"日"字段就要用"?" | 0 0 12 15 * ? 表示每月15号12点执行;0 0 12 ? * MON 表示每周一12点执行 |
不同类型的区别
Linux Cron
最基础的 Cron 表达式格式,包含5个字段。
- 不支持秒级别的调度
- 周字段使用0-6表示周日到周六
- 不支持年字段
- 支持基本的特殊字符:*, /, -
Spring Cron
基于 Quartz 的简化版本,包含6个字段。
- 支持秒级别的调度
- 周字段可以使用1-7或SUN-SAT
- 不支持年字段
- 支持L、W、#等特殊字符
Quartz Cron
功能最完整的版本,包含7个字段。
- 支持秒级别的调度
- 支持年份字段
- 周字段可以使用1-7或SUN-SAT
- 支持所有特殊字符:L、W、#、?
注意事项
- 日期和星期字段如果同时指定,需要注意它们之间是"或"的关系
- 使用特殊字符时要注意不同 Cron 类型的兼容性
- 在设置具体时间时,建议将不需要的字段设置为 *
- 使用范围时注意起始值要小于结束值
- 使用步长时要注意不要超出字段的有效范围
- 月份和星期几的数值范围在不同类型中可能不同
- 建议在重要的生产环境中先进行充分测试