Quartz Cron表示式詳解

2022-05-03 14:51:19 字數 2399 閱讀 7737

*/5 * * * * ?  每隔5秒執行一次

0 */1 * * * ? 每隔1分鐘執行一次

0 0 23 * * ? 每天23點執行一次

0 0 1 * * ? 每天凌晨1點執行一次:

0 0 1 1 * ? 每月1號凌晨1點執行一次

0 0 23 l * ? 每月最後一天23點執行一次

0 0 1 ? * l 每週星期天凌晨1點實行一次

0 26,29,33 * * * ? 在26分、29分、33分執行一次

0 0 0,13,18,21 * * ? 每天的0點、13點、18點、21點都執行一次

cron表示式由7個部分組成,各部分用空格隔開,例如0 0 12 ? * wed(每星期三下午12:00 執行)

cron表示式的7個部分從左到右代表的含義如下

seconds minutes hours day-of-month month day-of-week year

其中year是可選的

seconds

秒:數字0-59

minutes

分:數字0-59

hours

時 :數字0-23

day-of-month

月中的幾號 :可以用數字1-31 中的任一乙個值,但要注意一些特別的月份

month

一年中的幾月:可以用0-11 或用字串 「jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov and dec」 表示

day-of-week

每週:數字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 , - * /

*:代表整個時間段.

/:表示每多長時間執行一次

0/15表示每隔15分鐘執行一次,「0」表示為從「0」分開始;

3/20表示每隔20分鐘執行一次,「3」表示從第3分鐘開始執行

?:表示每月的某一天,或第幾周的某一天

l

「6l」表示「每月的最後乙個星期五」

w:表示為最近工作日

如「15w」放在每月(day-of-month)欄位上表示為「到本月15日最近的工作日」

#:是用來指定「的」每月第n個工作日

"6#3"或者"fri#3":在每週(day-of-week)中表示「每月第三個星期五」

問號(?)就是用來對日期和星期欄位做互斥的,問號(?)的作用是指明該欄位『沒有特定的值』,星號(*)和其它值,比如數字,都是給該字段指明特定的值,而星號(*)代表所有,在天時表示每一天。

「?」字元:表示不確定的值

「,」字元:指定數個值

「-」字元:指定乙個值的範圍

「/」字元:指定乙個值的增加幅度。n/m表示從n開始,每次增加m

「l」字元:用在日表示乙個月中的最後一天,用在周表示該月最後乙個星期x

「w」字元:指定離給定日期最近的工作日(周一到周五)

「#」字元:表示該月第幾個周x。6#3表示該月第3個周五

quartz cron 表示式詳解

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 字元被用來指定所有的值。如 在分鐘的字段域裡...

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 字元被用來指定所有的值。如 在分鐘的字段域裡表示 每分鐘 字元只在日期域和星期域...

quartz cron 表示式詳解

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 字元被用來指定所有的值。如 在分鐘的字段域裡...