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次执行时间:

  • 输入表达式并点击计算按钮...