spring 定時 Cron 表示式

2021-08-02 12:41:10 字數 2869 閱讀 9166

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

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

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. 反斜線(/)字元表示增量值。例如,在秒字段中「5/15」代表從第 5 秒開始,每 15 秒一次。

2. 星號(*)字元是通配字元,表示該欄位可以接受任何可能的值(例如:在分的字段上設定 "*",表示每一分鐘都會觸發)。

3. 問號(?)問號表示這個欄位不包含具體值。所以,如果指定月內日期,可以在月內日期欄位中插入「?」,表示週內日期值無關緊要。字母 l 字元是 last 的縮寫。放在月內日期欄位中,表示安排在當月最後一天執行。在週內日期欄位中,如果「l」單獨存在,就等於「7」,否則代表當月內週內日期的最後乙個例項。所以「0l」表示安排在當月的最後乙個星期日執行。

4. -  表示區間,例如 在小時上設定 "10-12",表示 10,11,12點都會觸發。

5. 逗號(, ) 表示指定多個值,例如在周字段上設定 "mon,wed,fri" 表示周一,週三和周五觸發

6. 井號(#)字元為給定月份指定具體的工作日例項。把「mon#2」放在週內日期欄位中,表示把任務安排在當月的第二個星期一。

7. l 表示最後的意思。在日字段設定上,表示當月的最後一天(依據當前月份,如果是二月還會依據是否是潤年[leap]), 在周字段上表示星期六,相當於"7"或"sat"。如果在"l"前加上數字,則表示該資料的最後乙個。例如在周字段上設定"6l"這樣的格式,則表示「本月最後乙個星期五"。

8. w 表示離指定日期的最近那個工作日(周一至周五). 例如在日字段上設定"15w",表示離每月15號最近的那個工作日觸發。如果15號正好是週六,則找最近的周五(14號)觸發, 如果15號是週未,則找最近的下周一(16號)觸發.如果15號正好在工作日(周一至周五),則就在該天觸發。如果指定格式為 "1w",它則表示每月1號往後最近的工作日觸發。如果1號正是週六,則將在3號下周一觸發。(注,"w"前只能設定具體的數字,不允許區間"-")。

注:'l'和 'w'可以一組合使用。如果在日字段上設定"lw",則表示在本月的最後乙個工作日觸發。

常用示例:

0 10 * * * ?--------------每個小時過10分執行一次

0 0/32 8,12 * * ? ----------每天8:32,12:32 執行一次

0 0/2 * * * ?--------------每2分鐘執行一次

0 0 12 * * ?---------------在每天中午12:00觸發 

0 15 10 ? * *---------------每天上午10:15 觸發 

0 15 10 * * ?---------------每天上午10:15 觸發 

0 15 10 * * ? *---------------每天上午10:15 觸發 

0 15 10 * * ? 2005---------------在2023年中的每天上午10:15 觸發 

0 * 14 * * ?---------------每天在下午2:00至2:59之間每分鐘觸發一次 

0 0/5 14 * * ?---------------每天在下午2:00至2:59之間每5分鐘觸發一次 

0 0/5 14,18 * * ?---------------每天在下午2:00至2:59和6:00至6:59之間的每5分鐘觸發一次 

0 0-5 14 * * ?---------------每天在下午2:00至2:05之間每分鐘觸發一次 

0 10,44 14 ? 3 wed---------------每三月份的星期三在下午2:00和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, 2003, 2004 and 2023年的每個月的最後乙個星期五的上午10:15觸發 

0 15 10 ? * 6#3---------------在每個月的第三個星期五的上午10:15觸發 

0 0 12 1/5 * ?---------------從每月的第一天起每過5天的中午12:00時觸發 

0 11 11 11 11 ?---------------在每個11月11日的上午11:11時觸發.

cron定時表示式

2016年07月27日 16 47 49 每五分鐘執行 5 每小時執行 0 每天執行 0 0 每週執行 0 0 0 每月執行 0 0 1 每年執行 0 0 1 1 2 cron表示式範例 每隔5秒執行一次 5 每隔1分鐘執行一次 0 1 每天23點執行一次 0 0 23 每天凌晨1點執行一次 0 0...

Spring 定時器中Cron表示式

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

Spring定時器 的cron表示式

乙個cron表示式有至少6個 也可能7個 有空格分隔的時間元素。按順序依次為 秒 0 59 分鐘 0 59 小時 0 23 天 月 0 31,但是你需要考慮你月的天數 月 0 11 天 星期 1 7 1 sun 或 sun,mon,tue,wed,thu,fri,sat 年份 1970 2099 格...