Quartz表達式是一種用于計劃任務的時間表達式,它允許你在特定的時間點執行任務。Quartz表達式的語法比較復雜,但它提供了非常靈活和精確的時間控制。
Quartz表達式由6個字段組成,分別表示秒、分鐘、小時、日期、月份和星期。字段的取值范圍根據不同的字段而不同,可通過通配符(*)、范圍(-)、遞增(/)和列表(,)來指定特定的取值。
以下是Quartz表達式的詳細語法:
- 秒(0-59):指定任務執行的秒鐘數。例如,“0/5”表示每5秒執行一次。
- 分鐘(0-59):指定任務執行的分鐘數。例如,“*/10”表示每10分鐘執行一次。
- 小時(0-23):指定任務執行的小時數。例如,“9-17”表示在上午9點到下午5點之間執行。
- 日期(1-31):指定任務執行的日期。例如,“1,15”表示在每個月的1號和15號執行。
- 月份(1-12):指定任務執行的月份。例如,“1-6”表示在1月到6月期間執行。
- 星期(1-7,其中1表示星期日,2表示星期一):指定任務執行的星期幾。例如,“1-5”表示在周一到周五執行。
除了基本的字段取值之外,Quartz表達式還支持一些特殊字符和符號:
- ?:表示不指定任何值,可以用于日期和星期字段。
- *:表示所有可能的取值。
- /:表示遞增,用于指定一個區間值的遞增間隔,例如“0/5”表示從0開始,每5秒遞增一次。
- -:表示范圍,用于指定一個區間值,例如“9-17”表示從9到17。
- ,:表示列表,用于指定多個值,例如“1,15”表示1號和15號。
- L:表示最后,用于日期和星期字段,例如“L”表示最后一天或最后一周。
- W:表示工作日,用于日期字段,例如“15W”表示最接近15號的工作日。
- #:表示第幾個,用于星期字段,例如“2#2”表示第二個星期二。
通過組合和使用這些符號,可以生成非常精確和靈活的Quartz表達式,以滿足各種計劃任務的需求。