cron 的表示式是字串,實際上是由七子表示式(從左到右),描述個別細節的時間表。這些子表示式是分開的空白。
順序(從左到右)
子串有效數字
有效字元
1seconds(秒)
0~59 的整數
,
和-
和*
和/
2minutes(分)
0~59 的整數
,
和-
和*
和/
3hours(小時)
0~23 的整數
,
和-
和*
和/
4day-of-month(日期)
1~31 的整數
,
和-
和*
和/
和?
和l
和w
和c
5month(月份)
1~12 的整數或者 jan-dec
,
和-
和*
和/
6day-of-week(星期)
1~7 的整數或者 sun-sat
,
和-
和*
和/
和?
和l
和w
和c
7year (可選字段)
1970~2099
,
和-
和*
和/
字元適用域
含義例項
*
all表示匹配該域的任意值。
?
只在dayofmonth
和dayofweek
也表示匹配域的任意值,但實際不會。因為 dayofmonth 和 dayofweek 會相互影響。
例如想在每月的 20 日觸發排程,不管 20 日到底是星期幾,則只能使用如下寫法: 13 13 15 20 * ?, 其中最後一位只能用?,而不能使用,如果使用表示不管星期幾都會觸發,實際上並不是這樣。
-
all表示範圍。
例如在 minutes 域使用 5-20,表示從 5 分到 20 分鐘每分鐘觸發一次
/
all表示起始時間開始觸發,然後每隔固定時間觸發一次。
例如在 minutes 域使用 5/20, 則意味著 5 分鐘觸發一次,而 25,45 等分別觸發一次.
,
all表示列出列舉值。
例如:在 minutes 域使用 5,20,則意味著在 5 和 20 分每分鐘觸發一次。
l
只在dayofmonth
和dayofweek
表示最後。
如果在 dayofweek 域使用 5l, 意味著在最後的乙個星期四觸發。
w
dayofmonth
表示有效工作日 (周一到周五)。系統將在離指定日期的最近的有效工作日觸發事件。
例如:在 dayofmonth 使用 5w,如果 5 日是星期六,則將在最近的工作日:星期五,即 4 日觸發。如果 5 日是星期天,則在 6 日 (周一) 觸發;如果 5 日在星期一到星期五中的一天,則就在 5 日觸發。另外一點,w 的最近尋找不會跨過月份 。
lw
dayofweek
這兩個字元可以連用,表示在某個月最後乙個工作日。
有可能不是星期五,例如:某個月的 31 號為周二,那麼此滿足最後乙個工作日,但不是周五。
#
dayofmonth
用於確定每個月第幾個星期幾。
例如在 4#2,表示某月的第二個星期三。
cron 表示式詳解 - be yourself. - csdn 部落格注:特別棒的乙個教程。
最全的 cron 表示式教程
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 7.年份 1970 209...
Cron表示式學習
表示式 秒 分 時 日期 月份 星期 年 星期是1 sun 7 sat 年是1920 2099 所有字段共有的特殊字元 表示列舉 表示任意值 表示區間 表示開始時間後間隔都是時間在執行 日期和星期共有的特殊字元 匹配任意值,但是日期和星期會互相影響,設定日期或星期時一定要有乙個是?l 表示最後 c指...
Cron表示式簡單學習
crontriggers往往比 trigger更有用,如果您需要基於日曆的概念,而非 trigger完全指定的時間間隔,的發射工作的時間表。crontrigger,你可以指定觸發的時間表如 每星期五中午 或 每個工作日9 30時 甚至 每5分鐘一班9 00和10 00逢星期一上午,星期三星期五 即便...