Quartz使用之 Cron 表示式

2021-08-29 11:24:43 字數 1602 閱讀 2006

乙個cron表示式是由7個子表示式組成的字串,這些子表示式用空格分隔,其中最後乙個子表示式是可選的,其他都是必須的。每個子表示式都描述了乙個單獨的日程細節。每乙個子表示式的含義如下:

[b]子表示式名稱(取值範圍)(允許的特殊字元)[/b]

1.seconds秒 (0-59) (, - * /)

2.minutes分鐘 (0-59) (, - * /)

3.hours小時 (0-23) (, - * /)

4.day-of-month月中的天 (1-31) (, - * ? / l w)

5.month月 (1-12或jan-dec) (, - * /)

6.day-of-week週中的天 (1-7或sun-sat) (, - * ? / l #)

7.year(optional)年(可選) (空或1970-2099) (, - * /)

乙個cron表示式的例子字串為"0 0 12 ? * wed",這表示「每週三的中午12:00」。

單個子表示式可以包含範圍或者列表。例如:前面例子中的週中的天這個域(這裡是"wed")可以被替換為"mon-fri", "mon, wed, fri"或者甚至"mon-wed,sat"。

所有的域中的值都有特定的合法範圍,這些值的合法範圍相當明顯,例如:秒和分域的合法值為0到59,小時的合法範圍是0到23,day-of-month中值得合法凡範圍是0到31,但是需要注意不同的月份中的天數不同。月份的合法值是0到11。或者用字串jan,feb mar, apr, may, jun, jul, aug, sep, oct, nov 及dec來表示。days-of-week可以用1到7來表示(1=星期日)或者用字串sun, mon, tue, wed, thu, fri 和sat來表示.

萬用字元('*')可以被用來表示域中「每個」可能的值。因此在"month"域中的*表示每個月,而在day-of-week域中的*則表示「週中的每一天」。

'?'字元可以用在day-of-month及day-of-week域中,它用來表示「沒有指定值」。這對於需要指定乙個或者兩個域的值而不需要對其他域進行設定來說相當有用。

'/'字元用來表示值的增量,例如, 如果分鐘域中放入'0/15',它表示「每隔15分鐘,從0開始」,如果在份中域中使用'3/20',則表示「小時中每隔20分鐘,從第3分鐘開始」或者另外相同的形式就是'3,23,43'。

'l'字元可以在day-of-month及day-of-week中使用,這個字元是"last"的簡寫,但是在兩個域中的意義不同。例如,在day-of-month域中的"l"表示這個月的最後一天,即,一月的31日,非閏年的二月的28日。如果它用在day-of-week中,則表示"7"或者"sat"。但是如果在day-of-week域中,這個字元跟在別的值後面,則表示"當月的最後的周***"。例如:"6l" 或者 "fril"都表示本月的最後乙個周五。當使用'l'選項時,最重要的是不要指定列表或者值範圍,否則會導致混亂。

'w' 字元用來指定距離給定日最接近的週幾(在day-of-week域中指定)。例如:如果你為day-of-month域指定為"15w",則表示「距離月中15號最近的週幾」。

'#'表示表示月中的第幾個週幾。例如:day-of-week域中的"6#3" 或者 "fri#3"表示「月中第三個周五」。

[url=

Quartz的cron表示式

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

Quartz的cron表示式

quartz的cron表示式 按順序依次為 秒 0 59 分鐘 0 59 小時 0 23 天 月 0 31,但是你需要考慮你月的天數 ie8引起的上傳異常問題 月 0 11 天 星期 1 7 1 sun 或 sun,mon,tue,wed,thu,fri,sat 7.年份 1970 2099 其中每...

Quartz的cron表示式

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