Quartz是一個開源的Java作業調度框架,它使用CRON表達式來定義任務的執行計劃。CRON表達式是一種時間描述格式,由7個(或6個)字段組成,字段之間用空格分隔。以下是對Quartz CRON表達式的詳細解析:
CRON表達式支持的特殊字符:
*
:表示任意值,用于表示該字段可以匹配任何值。?
:表示不指定值,用于日期和星期字段,表示不關心該字段的具體值。-
:表示范圍,例如1-5表示1到5之間的數值。,
:表示枚舉值,例如1,3,5表示1、3和5。/
:表示步長,例如*/2表示每隔2個單位執行一次。L
:表示最后,僅適用于日期和星期字段。例如,5L表示一個月的最后一個星期五。W
:表示工作日,僅適用于日期字段。例如,15W表示離15號最近的工作日。#
:表示第幾個,僅適用于星期字段。例如,5#3表示一個月的第三個星期五。CRON表達式示例:
0 0 12 * * ?
:每天中午12點執行。0 15 10 ? * *
:每天上午10點15分執行。0 0/5 * * * ?
:每隔5分鐘執行一次。0 0 0 * * ?
:每天凌晨0點執行。0 0 0 ? * 6L
:每個月的最后一個星期六執行。0 0 0 ? * 6L 2022
:2022年每個月的最后一個星期六執行。