Quartz Cron表达式说明
CronTriggers通常比SimpleTrigger更有用,当您需要基于日历概念而不是SimpleTrigger完全指定的时间间隔来执行作业时。
CronTrigger 简介
CronTrigger 允许您指定基于日历的触发计划,例如:
- 每星期五中午
- 每个工作日上午9:30
- 每周一、三、五上午9:00至10:00之间每5分钟一次
与 SimpleTrigger 一样,CronTrigger 具有 startTime(计划生效的时间)和可选的 endTime(计划应停止的时间)。
Cron表达式结构
Cron表达式是由7个子表达式组成的字符串,描述时间表的各个细节:
秒 分 时 日 月 周 年 (年字段可选)
例如:"0 0 12 ? * WED" 表示每星期三下午12:00执行
字段说明
字段 | 允许值 | 特殊字符 |
---|---|---|
秒 (Seconds) | 0-59 | , - * / |
分 (Minutes) | 0-59 | , - * / |
时 (Hours) | 0-23 | , - * / |
日 (Day-of-Month) | 1-31 | , - * ? / L W |
月 (Month) | 0-11 或 JAN-DEC | , - * / |
周 (Day-of-Week) | 1-7 (1=星期日) 或 SUN-SAT | , - * ? / L # |
年 (Year - 可选) | 1970-2099 | , - * / |
特殊字符说明
字符 | 含义 | 示例 |
---|---|---|
* | 所有值 | "*" 在分字段表示每分钟 |
? | 不指定值(仅用于日和周日段) | "?" 在日字段表示忽略该字段 |
- | 范围 | "10-12" 在时字段表示10、11、12点 |
, | 列出多个值 | "MON,WED,FRI" 在周字段表示周一、三、五 |
/ | 增量 | "0/15" 在秒字段表示从0秒开始每15秒 |
L | 最后一天(月或周) | "L" 在日字段表示当月最后一天 |
W | 最近工作日 | "15W" 在日字段表示15日最近的工作日 |
# | 每月第n个工作日 | "6#3" 在周字段表示每月第三个星期五 |
表达式示例
每5分钟执行
0 0/5 * * * ?
工作日上午9点到下午5点每小时
0 0 9-17 ? * MON-FRI
每月最后一天中午12点
0 0 12 L * ?
每月第三个星期五10:15
0 15 10 ? * 6#3
每天上午8点到下午5点每30秒
0/30 * 8-17 * * ?
每月15日最近的工作日上午9点
0 0 9 15W * ?
Cron表达式计算器
接下来10次执行时间:
- 输入表达式并点击计算按钮...