Cron 表示式詳解(已整理 很清晰)

2021-08-25 11:20:07 字數 1820 閱讀 9632

cron表示式是乙個字串,字串分為6或7個域,每乙個域代表乙個含義,cron有如下兩種語法格式: 

seconds minutes hours dayofmonth month dayofweek year或 

seconds minutes hours dayofmonth month dayofweek

理解 7 個字段的cron 表示式

格式: [秒] [分] [小時] [日] [月] [周] [年]

序號     說明       是否必填      允許填寫的值       允許的萬用字元

1           秒               是                  0-59                   , - * /

2           分               是                  0-59                   , - * /

3          小時            是                  0-23                    , - * /

4          日               是                  1-31                     , - * ? / l w

5          月               是           1-12 or jan-dec        , - * /

6          周              是            1-7 or sun-sat          , - * ? / l #

7          年               否         empty 或 1970-2099      , - * /

(1)*:表示匹配該域的任意值,假如在minutes域使用*, 即表示每分鐘都會觸發事件。

(2)?:只能用在dayofmonth和dayofweek兩個域。它表示不匹配任意值。因為dayofmonth和 dayofweek會相互影響。例如想在每月的20日觸發排程,不管20日到底是星期幾,則只能使用如下寫法: 13 13 15 20 * ?。 

(3)-:表示範圍,例如在minutes域使用5-20,表示從5分到20分鐘每分鐘觸發一次 

(4)/:表示起始時間開始觸發,然後每隔固定時間觸發一次,例如在minutes域使用5/20,則意味著5分鐘觸發一次,而25,45等分別觸發一次. 

(5),:表示列出列舉值。例如:在minutes域使用5,20,則意味著在5和20分每分鐘觸發一次。 

(6)l:表示最後,只能出現在dayofweek和dayofmonth域,如果在dayofweek域使用5l,意味著在最後的乙個星期四觸發。 

(7)w: 表示有效工作日(周一到周五),只能出現在dayofmonth域,系統將在離指定日期的最近的有效工作日觸發事件。例如:在 dayofmonth使用5w,如果5日是星期六,則將在最近的工作日:星期五,即4日觸發。如果5日是星期天,則在6日(周一)觸發;如果5日在星期一 到星期五中的一天,則就在5日觸發。另外一點,w的最近尋找不會跨過月份 

(8)lw:這兩個字元可以連用,表示在某個月最後乙個工作日,即最後乙個星期五。 

(9)#:用於確定每個月第幾個星期幾,只能出現在dayofmonth域。例如在4#2,表示某月的第二個星期三。

舉幾個例子: 

0 0 2 1 * ? * 表示在每月的1日的凌晨2點排程任務 

0 15 10 ? * mon-fri 表示周一到周五每天上午10:15執行作業 

0 15 10 ? 6l 2002-2006 表示2002-2023年的每個月的最後乙個星期五上午10:15執行作

cron表示式詳解

關於cronexpression的介紹 cron表示式功能非常強大可以和quartz結合做定時器任務排程乙個cron 表示式是乙個由六至七個字段組成由空格分隔的字串,其中6個字段是必須的而乙個是可選的,如下 欄位名 允許的值 允許的特殊字元秒 0 59 分0 59 小時0 23 日1 31 l w ...

cron表示式(詳解)

按順序依次為 秒 0 59 分鐘 0 59 小時 0 23 天 月 0 31,但是你需要考慮你月的天數 月 0 11 天 星期 1 7 1 sun 或 sun,mon,tue,wed,thu,fri,sat 7.年份 1970 2099 其中每個元素可以是乙個值 如6 乙個連續區間 9 12 乙個間...

Cron表示式詳解

cron表示式詳解 cron表示式是乙個字串,字串以5或6個空格隔開,分為6或7個域,每乙個域代表乙個含義,cron有如下兩種語法格式 seconds minutes hours dayofmonth month dayofweek year或 seconds minutes hours dayof...