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