石英Cron表达问题@月度工作失败

时间:2019-12-24 10:19:51

标签: cron quartz-scheduler

我有一个用例,我想从1月开始的每个月的第一个星期五,从2:30 PM开始每月工作。

我使用的Cron表达式:-

0 30 14 ? 1/1 6#1

这绝对好用。

示例点火时间:-

Fri Jan 03 14:30:00 UTC 2020
Fri Feb 07 14:30:00 UTC 2020
Fri Mar 06 14:30:00 UTC 2020
Fri Apr 03 14:30:00 UTC 2020
Fri May 01 14:30:00 UTC 2020
Fri Jun 05 14:30:00 UTC 2020
Fri Jul 03 14:30:00 UTC 2020

但是如果我使用相同的表达式并将12月用作开始月份

0 30 14 ? 12/1 6#1 

这开始失败:-

Fri Dec 04 14:30:00 UTC 2020
Fri Dec 03 14:30:00 UTC 2021
Fri Dec 02 14:30:00 UTC 2022
Fri Dec 01 14:30:00 UTC 2023

这种变成每年一次。

我使用的表达式没有任何问题。如何解决此问题或解决方法?

1 个答案:

答案 0 :(得分:0)

IMO这意味着每12个月=每年12月,并且与

相同
0 30 14 ? 12 6#1 

您的第一条记录等于

0 30 14 ? * 6#1

(每月平均星级)