博客
Quartz Cron
计算机
Java

Quartz是一个完全由Java编写的开源作业调度框架,它实现了作业和触发器的多对多关系,能够将多个作业与不同的触发器关联。

Quartz Cron表达式的基本概念和组成部分

Quartz的Cron表达式支持到七个域:秒、分、时、日、月、周和年。每个域可以包含以下类型的值:
秒:0-59,可以使用星号()表示每一秒,问号(?)表示不指定值。
分:0-59,可以使用星号(
)表示每一分钟,问号(?)表示不指定分钟。
时:0-23,可以使用星号()表示每小时,问号(?)表示不指定小时。
日:1-31,可以使用星号(
)表示每一天,问号(?)表示不指定日。
月:1-12或JAN-DEC,可以使用星号()表示每个月。
周:1-7或SUN-SAT,可以使用星号(
)表示每周,问号(?)表示不指定周。
年:可以为空或1970-2099,可以使用星号(*)表示每一年

Cron表达式的特殊字符及其含义

星号(*):表示该域的所有合法值。例如,在月份域上使用星号意味着每个月都会触发。
问号(?):只能在日和周域中使用,表示“不关心该域的值”。例如,在日域中使用问号表示“每月的某一天”。
逗号(,):用于指定一个值列表。例如,在秒域中使用0,15,30,45表示每15秒触发一次。
斜杠(/):用于指定递增的时间间隔。例如,0/15表示每15秒触发一次。
减号(-):用于指定一个范围。例如,3-8表示3点到8点每小时触发一次。
L:表示该域的最后一个值。例如,在周域中使用5L表示每月的第五个星期五。
W:用于日域,表示最近的工作日(Mon-Fri)。例如,15W表示离15号最近的星期五

示例

每天早上5点执行

0 0 5 * * ?

每天早上9点、下午2点推送两次消息

0 0 9,14 * * ?
© 2025 LH1010 - 豫ICP备2021036601号-1