本文包含如下內(nèi)容
- CronTrigger簡介
- Cron 表達(dá)式
- Cron表達(dá)式可選的值
- Cron表達(dá)式的配置規(guī)則
Cron表達(dá)式范例:
*/5 * * * * ? 每隔5秒執(zhí)行一次
0 */1 * * * ? 每隔1分鐘執(zhí)行一次
0 0 23 * * ? 每天23點執(zhí)行一次
0 0 1 * * ? 每天凌晨1點執(zhí)行一次:
0 0 1 1 * ? 每月1號凌晨1點執(zhí)行一次
0 0 23 L * ? 每月最后一天23點執(zhí)行一次
0 0 1 ? * L 每周星期天凌晨1點實行一次
0 26,29,33 * * * ? 在26分腹殿、29分缤苫、33分執(zhí)行一次
0 0 0,13,18,21 * * ? 每天的0點央串、13點化撕、18點、21點都執(zhí)行一次
Cron 表達(dá)式
Cron表達(dá)式由7個部分組成帚湘,各部分用空格隔開哮针,例如0 0 12 ? * WED(每星期三下午12:00 執(zhí)行)
Cron表達(dá)式的7個部分從左到右代表的含義如下
Seconds Minutes Hours Day-of-Month Month Day-of-Week Year
其中Year是可選的
Cron表達(dá)式可選的值
Seconds
秒:數(shù)字0-59
Minutes
分:數(shù)字0-59
Hours
時 :數(shù)字0-23
Day-of-Month
月中的幾號 :可以用數(shù)字1-31 中的任一一個值,但要注意一些特別的月份
Month
一年中的幾月:可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示
Day-of-Week
每周:數(shù)字1-7(1 = 星期日)璧针,或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”
字段名 允許的值 允許的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小時 0-23 , - * /
日 1-31 , - * ? / L W C
月 1-12 or JAN-DEC , - * /
周幾 1-7 or SUN-SAT , - * ? / L C #
年 (可選字段) empty, 1970-2099 , - * /
Cron中的符號
* :代表整個時間段.
/ :表示每多長時間執(zhí)行一次
0/15表示每隔15分鐘執(zhí)行一次,“0”表示為從“0”分開始嚷炉;
3/20表示每隔20分鐘執(zhí)行一次,“3”表示從第3分鐘開始執(zhí)行
? :表示每月的某一天陈莽,或第幾周的某一天
L :
“6L”表示“每月的最后一個星期五”
W:表示為最近工作日
如“15W”放在每月(day-of-month)字段上表示為“到本月15日最近的工作日”
#:是用來指定“的”每月第n個工作日
"6#3"或者"FRI#3":在每周(day-of-week)中表示“每月第三個星期五”
問號(?)就是用來對日期和星期字段做互斥的渤昌,問號(?)的作用是指明該字段‘沒有特定的值’,星號(*)和其它值走搁,比如數(shù)字独柑,都是給該字段指明特定的值,而星號(*)代表所有私植,在天時表示每一天忌栅。
“?”字符:表示不確定的值
“,”字符:指定數(shù)個值
“-”字符:指定一個值的范圍
“/”字符:指定一個值的增加幅度。n/m表示從n開始,每次增加m
“L”字符:用在日表示一個月中的最后一天索绪,用在周表示該月最后一個星期X
“W”字符:指定離給定日期最近的工作日(周一到周五)
“#”字符:表示該月第幾個周X湖员。6#3表示該月第3個周五