【知识积累】Quartz的使用
一、cron表达式
格式:【秒】 【分】 【时】 【日】 【月】 【周】 【年】
说明 | 必填 | 范围 | 通配符 |
秒 | Y | 0~59 | , - * / |
分 | Y | 0~59 | , - * / |
时 | Y | 0~23 | , - * / |
日 | Y | 1~31 | , - * / ? L W |
月 | Y | 1~12 OR JAN~DEC | , - * / |
周 | Y | 1~7 OR SUM~SAT | , - * / ? L # |
年 | N | empty OR 1970~2099 | , - * / |
通配符说明:
,:表示与。例如:在周的位置上配置MON,TUE,WED,则周一、周二和周三触发;
-:表示区间。例如:在小时的位置上配置7-10,则7点、8点、9点、10点会触发;
*:表示所有值。例如:配置在秒的位置上,则每一秒都会触发;
/:表示递增。例如:0/5,则从0开始,每次增加5,0~5~10~15~20……;
?:表示不指定值。只能在日和周的位置上配置。
L:表示最后的意思。只能在日和周的位置上配置。例如:在日的位置上配置,表示当月的最后一天(二月会判断是否是闰年)。在周的位置上,表示周六或者7。
W:表示离指定日期的最近那个工作日(周一~周五)。只能在日和周的位置上配置。例如:日的位置上配置10W,则表示每月的10号最近的那个工作日触发。如果10号是周六,则9号(周五)触发,如果10号是周日,则11号(周一)触发,如果是工作日,则在该日触发。配置1W,则表示每月的1号往后最近的工作日触发。如果1号在周六或者周日,则在下周一触发,如果是工作日,则在该日触发。(不允许区间,只能配置数字)
#:序号,表示每月的第几周星期几。只能在周的位置上配置。例如:0 0 0 5 6#2 *,五月的第二周的星期六触发,0 0 0 6 6#3 *, 六月的第三周的星期六触发。
LW(配合使用):在日的位置上使用LW,则表示本月的最后一个工作日触发。
周的位置上,不区分大小写。