Cron 表示式學習

2022-03-21 14:12:33 字數 2310 閱讀 8173

cron 的表示式是字串,實際上是由七子表示式(從左到右),描述個別細節的時間表。這些子表示式是分開的空白。

順序(從左到右)

子串有效數字

有效字元

1seconds(秒)

0~59 的整數

,-*/

2minutes(分)

0~59 的整數

,-*/

3hours(小時)

0~23 的整數

,-*/

4day-of-month(日期)

1~31 的整數

,-*/?lwc

5month(月份)

1~12 的整數或者 jan-dec

,-*/

6day-of-week(星期)

1~7 的整數或者 sun-sat

,-*/?lwc

7year (可選字段)

1970~2099

,-*/

字元適用域

含義例項

*

all表示匹配該域的任意值。

?

只在dayofmonthdayofweek

也表示匹配域的任意值,但實際不會。因為 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

只在dayofmonthdayofweek

表示最後。

如果在 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逢星期一上午,星期三星期五 即便...