Cron是一種用于定義定時任務的時間表達式,常用于調度系統中。Quartz是一個流行的Java調度器,支持Cron時間表達式。
Cron時間表達式由6個字段組成,每個字段表示時間的一個部分。這些字段按順序為:秒(0-59)、分鐘(0-59)、小時(0-23)、日期(1-31)、月份(1-12)和星期幾(0-7,其中0和7都表示周日)。
Cron時間表達式的常見語法如下:
| | | | | |
| | | | | ±- 年份(可選)
| | | | ±— 星期幾 (0 - 7) (Sunday=0 or 7)
| | | ±----- 月份 (1 - 12)
| | ±------- 日期 (1 - 31)
| ±--------- 小時 (0 - 23)
±----------- 分鐘 (0 - 59)
其中,星號(*)表示匹配所有可能的值,而逗號(,)可以用于分隔多個值。橫杠(-)用于表示范圍,斜杠(/)用于表示步長。
以下是一些常見的Cron時間表達式示例:
每天的8點整:0 0 8 * * ?
每小時的30分鐘:0 30 * * * ?
每周一至周五的8點30分:0 30 8 ? * MON-FRI
每月的第一天的10點30分:0 30 10 1 * ?
每分鐘:* * * * * ?
Quartz還支持一些特殊字符,如問號(?),用于表示不關心的部分,和/用于表示步長。
Cron時間表達式非常靈活,可以用于定義各種復雜的定時任務。但是,在編寫Cron時間表達式時,需要仔細考慮各個字段的取值范圍和組合方式,以確保定時任務按預期執行。