Cron運算式使用格式
| Seconds |
Minutes |
Hours |
DayofMonth |
Month |
DayofWeek |
[Year] |
| 秒 |
分 |
時 |
月中的某天 |
月 |
周中的某天 |
[年 可選] |
每個符號代表的含義: *:匹配該域的任意值;如*用在分所在的域,表示每分鐘都會觸發事件。 ?:匹配該域的任意值。月份的天河周的天互相衝突,必須將其中一個設定為? -:匹配一個特定的範圍值;如時所在的域的值是10-12,表示10、11、12點的時候會觸發事件。 ,:匹配多個指定的值;如周所在的域的值是2,4,6,表示在周一、周三、周五就會觸發事件(1表示周日,2表示周一,3表示周二,以此類推,7表示周六)。 /:左邊是開始觸發時間,右邊是每隔固定時間觸發一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的時候都觸發一次事件。 L:last,最後的意思,如果是用在天這個域,表示月的最後一天,如果是用在周所在的域,如6L,表示某個月最後一個周五。(外國周日是星耀日,周一是月耀日,一周的開始是周日,所以1L=周日,6L=周五。) W:weekday,工作日的意思。如天所在的域的值是15W,表示本月15日最近的工作日,如果15日是周六,觸發器將觸發上14日周五。如果15日是周日,觸發器將觸發16日周一。如果15日不是周六或周日,而是周一至周五的某一個,那麼它就在15日當天觸發事件。 #:用來指定每個月的第幾個星期幾,如6#3表示某個月的第三個星期五。 實用的例子 運算式 含義
| “0 0 12 * * ?” |
每天12:00觸發事件 |
| “0 15 10 。 * *” |
每天10:15觸發事件 |
| “0 15 10 * * ?” |
每天10:15觸發事件 |
| “0 15 10 * * ? *” |
每天10:15觸發事件 |
| “0 15 10 * * ? 2005″ |
2005年的每天10:15觸發事件 |
| “0 * 14 * * ?” |
每天14點開始觸發,每分鐘觸發一次,14:59分結束 |
| “0 0/5 14 * * ?” |
每天14點開始觸發到14:59分結束的每5分鐘觸發一次事件 |
| “0 0/5 14,18 * * ?” |
每天14點開始到14:59期間和18點到18:59期間的每5分鐘觸發一次事件 |
| “0 0-5 14 * * ?” |
每天14點到14:05期間的每1分鐘觸發一次事件 |
| “0 10,44 14 ? 3 WED” |
每年3月的星期三的14:10和14: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年至2005年的每月的最後一個星期五10:15觸發一次事件 |
| “0 15 10 ? * 6#3″ |
每月的第三個星期五10:15觸發一次事件 |