OJ周賽三場——異或和
阿新 • • 發佈:2022-12-05
Cron表示式通過特定的規則指定時間,用於定時任務,本文簡單記錄它的部分語法和例項,並不完全,能覆蓋日常大部分需求。
1. Cron表示式介紹
Cron表示式是一個字串,分為6或7個域,每兩個域之間用空格分隔,其語法格式為:
"秒域 分域 時域 日域 月域 周域 年域"
其中,年域可以省略,省略時表示每年。單個域有多個取值時,使用半形逗號,隔開取值。每個域可以是確定的取值,也可以是具有邏輯意義的特殊字元。每個域最多支援一個前導零。
2. 域介紹
域名 | 是否必須 | 取值範圍 | 特殊字元 |
秒域 | 是 | 0~59的整數 | * , - / |
分域 | 是 | 0~59的整數 | * , - / |
時域 | 是 | 0~23的整數 | * , - / |
日域 | 是 | 1~31的整數 | * , - / ? L W |
月域 | 是 | 1~12的整數或JAN~DEC | * , - / |
周域 | 是 | 1~7的整數或SUN~SAT | * , - / ? L # |
年域 | 否 | 1970~2099的整數 | * , - / |
3. 特殊字元介紹
特殊字元 | 含義 | 示例 |
---|---|---|
* |
所有可能的值。 | 在月域中,* 表示每個月;在星期域中,* 表示星期的每一天。 |
, |
列出列舉值。 | 在分鐘域中,5,20 表示分別在5分鐘和20分鐘觸發一次。 |
- |
範圍。 | 在分鐘域中,5-20 表示從5分鐘到20分鐘之間每隔一分鐘觸發一次。 |
/ |
指定數值的增量。 | 在分鐘域中,0/15 表示從第0分鐘開始,每15分鐘。在分鐘域中3/20 |
? |
不指定值,僅日期和星期域支援該字元。 | 當日期或星期域其中之一被指定了值以後,為了避免衝突,需要將另一個域的值設為? 。 |
L |
單詞Last的首字母,表示最後一天,僅日期和星期域支援該字元。
說明 指定L 字元時,避免指定列表或者範圍,否則,會導致邏輯問題。
|
|
W |
除週末以外的有效工作日,在離指定日期的最近的有效工作日觸發事件。W 字元尋找最近有效工作日時不會跨過當前月份,連用字元LW |
在日期域中5W ,如果5日是星期六,則將在最近的工作日星期五,即4日觸發。如果5日是星期天,則將在最近的工作日星期一,即6日觸發;如果5日在星期一到星期五中的一天,則就在5日觸發。 |
# |
確定每個月第幾個星期幾,僅星期域支援該字元。 | 在星期域中,4#2 表示某月的第二個星期四。 |