Quartz表达式是一种用于计划任务的时间表达式,它允许你在特定的时间点执行任务。Quartz表达式的语法比较复杂,但它提供了非常灵活和精确的时间控制。
Quartz表达式由6个字段组成,分别表示秒、分钟、小时、日期、月份和星期。字段的取值范围根据不同的字段而不同,可通过通配符(*)、范围(-)、递增(/)和列表(,)来指定特定的取值。
以下是Quartz表达式的详细语法:
- 秒(0-59):指定任务执行的秒钟数。例如,“0/5”表示每5秒执行一次。
- 分钟(0-59):指定任务执行的分钟数。例如,“*/10”表示每10分钟执行一次。
- 小时(0-23):指定任务执行的小时数。例如,“9-17”表示在上午9点到下午5点之间执行。
- 日期(1-31):指定任务执行的日期。例如,“1,15”表示在每个月的1号和15号执行。
- 月份(1-12):指定任务执行的月份。例如,“1-6”表示在1月到6月期间执行。
- 星期(1-7,其中1表示星期日,2表示星期一):指定任务执行的星期几。例如,“1-5”表示在周一到周五执行。
除了基本的字段取值之外,Quartz表达式还支持一些特殊字符和符号:
- ?:表示不指定任何值,可以用于日期和星期字段。
- *:表示所有可能的取值。
- /:表示递增,用于指定一个区间值的递增间隔,例如“0/5”表示从0开始,每5秒递增一次。
- -:表示范围,用于指定一个区间值,例如“9-17”表示从9到17。
- ,:表示列表,用于指定多个值,例如“1,15”表示1号和15号。
- L:表示最后,用于日期和星期字段,例如“L”表示最后一天或最后一周。
- W:表示工作日,用于日期字段,例如“15W”表示最接近15号的工作日。
- #:表示第几个,用于星期字段,例如“2#2”表示第二个星期二。
通过组合和使用这些符号,可以生成非常精确和灵活的Quartz表达式,以满足各种计划任务的需求。