[开发] cron表达式介绍
cron 表达式是一种用于指定定时任务调度的字符串表达式。它由 6 或 7 个字段组成,用空格分隔开。每个字段代表任务执行的不同时间单位,包括秒、分钟、小时、日期、月份和周几。有些实现还支持第七个字段用于指定年份。
以下是 cron 表达式的常规格式:
秒 分 时 日 月 周几 [年份]
秒(Seconds):取值范围为 0-59。
分钟(Minutes):取值范围为 0-59。
小时(Hours):取值范围为 0-23。
日期(Day of month):取值范围为 1-31。
月份(Month):取值范围为 1-12 或者使用英文缩写(如 JAN、FEB、MAR)。
周几(Day of week):取值范围为 1-7 或者使用英文缩写(如 SUN、MON、TUE),其中 1 表示周日,2 表示周一,以此类推。还可以使用数字 0 或 7 表示周日。
年份(Year):可选字段,表示具体的年份。
每个字段可以使用以下的取值方式:
单个值:例如,5 表示特定的秒、10 表示特定的分钟。
范围:例如,10-30 表示从 10 到 30 的秒或分钟。
列表:例如,1,3,5 表示特定的秒或分钟列表。
步长:例如,0/5 表示从 0 开始每隔 5 个单位的秒或分钟。
通配符:使用 * 表示匹配所有可能的值。
除了以上基本的取值方式,还可以使用特殊字符和符号来指定更复杂的规则。例如:
?:用于替代日期或周几字段中的任意值,表示不关心具体的值。
L:用于日期字段,表示最后一天,例如 L 表示每月的最后一天。
W:用于日期字段,表示最近的工作日(周一至周五)。
#:用于周几字段,表示每个月的第几个周几,例如 2#3 表示每月的第三个周二。
以下是一些示例 cron 表达式:
0 0 12 * * ?:每天的 12:00:00 执行任务。
0 0/5 * * * ?:每隔 5 分钟执行任务。
0 0 8-18 ? * MON-FRI:每周一至周五的 800 到 18:00:00 之间执行任务。
0 0 0 1 * ?:每月的 1 日 000 执行任务。
还没有评论,来说两句吧...