spring cron表达式解析 作者: juoliii 时间: 2023-04-28 分类: 开发,spring 评论 # 解析 ![](http://www.netman.vip/blog/usr/uploads/2023/04/1385843577.png) 特殊字符: * 对应字段上的所有值,例如在分钟字段,表示每一分钟。相应的有每一秒,每个月,每一年等。 ? 表示该字段不设置。在两个字段只能选其一的情况下使用,例如日期和星期只能出现一个,那个不使用的那个字段就设置为? - 用于设置范围,上下界都包含,例如月份字段8-10,表示8,9,10三个月份。 , 表示列表值(多值),如MON,WED,FRI 表示周一周三周五,当取值不连续无法使用范围时,使用该字段。 / 配置步长/增量. 格式为 开始/步长. 在秒位置上配置为0/15,表示从0来时,15为单位增加,在取值范围内的所有值,即0,15,30,45. 如果开始设置为5,即5/15,则取值为5,20,35,50 如果开始未知为*,等效于0或者其他起始值 L 表示最后一个可选值。例如在日期中表示月份的最后一天,30号或31号或28号,根据月份年份不同。星期中表示星期中的最后一天,即7或者SAT。 在星期中设置为6L,表示月份的最后一个星期五(6表示) L-3表示倒数第三天(third-to-last) W 只用于日期字段。weekday,周一到周五,表示离当前最近的工作日。例如在日期字段配置为15W,表示离15号最近的工作日。所以如果15号是星期六,则将在14号星期五触发。如果15号是星期二,那会在15号星期二触发。 注意在计算最近工作日的时候,不会跨越日期。例如1W,并且1号为星期六,则将在该月的3号触发,而不会跳到上一个月的最后一天星期五。 W用于配置月份中的特定一天,不能出现在多天的情况下。 如果W和L一起使用在日期字段,即LW,则表示月份的最后一个工作日。 # 只用于星期字段,例如6#3表示第三个周五(6为周五,#3表示第三个星期)。 2#1表示第一个周一。 如果你设置#5但是没有第五周,则不会触发。 # 例子 ![](http://www.netman.vip/blog/usr/uploads/2023/04/2655007660.png)