1、Quartz Cron 表达式支持到七个域
1、Quartz Cron 表达式支持到七个域
名称 | 是否必须 | 允许值 | 特殊字符 |
秒 | 是 | 0-59 | , - * / |
分 | 是 | 0-59 | , - * / |
时 | 是 | 0-23 | , - * / |
日 | 是 | 1-31 | , - * ? / L W C |
月 | 是 | 1-12 或 JAN-DEC | , - * / |
周 | 是 | 1-7 或 SUN-SAT | , - * ? / L C # |
年 | 否 | 空 或 1970-2099 | , - * / |
基本说明:
月份和星期的名称是不区分大小写
域之间有空格分隔,例:* * * ? * *
特殊字符说明:
*星号:在这个域上包含所有合法的值
样例:0 * 17 * * ? (每天从下午5点到下午5:59中的每分钟激发一次 trigger)
?问号:?号只能用在日和周域上,但是不能在这两个域上同时使用
样例:0 10,44 14 ? 3 WEB(在三月中的每个星期三的下午 2:10 和 下午2:44 被触发)
,逗号:逗号 (,)是用来在给某个域上指定一个值列表的
样例:0 0,15,30,45 * * * ?(每刻钟触发一次 trigger)
/斜杠:用于时间表的递增的
样例:0/15 0/30 * * * ?(在整点和半点时每15秒触发 trigger)
- 中划线:用于指定一个范围
样例:0 45 3-8 ? * *(在上午的3点至上午的8点的45分时触发 trigger)
L字母:说明了某域上允许的最后一个值。它仅被日和周域支持
注意:L字母用于周域上,指示着周的最后一天,就是星期六 (或者数字7)。
当使用于周域上,你可以用一个数字与 L连起来表示月份的最后一个星期 X
样例:0 0 8 L * ?(每个月最后一天的上午 8:00 触发 trigger)
0 59 23 ? * L(在每个月的最后一个星期六下午的11:59 触发 trigger)
0 0 12 ? * 2L(在每个月的最后一个星期一触发 trigger)
W字母:W字符代表着平日,并且仅能用于日域中
样例:如果是15W,可能会是在14号(15号是星期六)或者15号(15号是星期天)触发,也就是只能出现在邻近的一天,如果15号当天为平日直接就会当日执行)。
#井号:#字符仅能用于周域中。它用于指定月份中的第几周的哪一天。
样例:如果你指定周域的值为6#3,它意思是某月的第三个周五(6=星期五,#3意味着月份中的第三周)。
2、常用示例:
格式: [秒] [分] [小时] [日] [月] [周] [年]
0 0 12 * * ? 每天12点触发
0 15 10 ? * * 每天10点15分触发
0 15 10 * * ? 每天10点15分触发
0 15 10 * * ? * 每天10点15分触发
0 15 10 * * ? 2005 2005年每天10点15分触发
0 * 14 * * ? 每天下午的 2点到2点59分每分触发
0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)
0 0/5 14,18 * * ? 每天下午的 18点到18点59分(整点开始,每隔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 L * ? 每月最后一天的10点15分触发
0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
0 15 10 ? * 6#3 每月的第三周的星期五开始触发
0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
0 11 11 11 11 ? 每年的11月11号 11点11分触发