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年每个月的最后一个星期六执行。