在cron表达式中同时使用月日和星期日

在cron表达式中同时使用月日和星期日,cron,quartz-scheduler,dayofweek,Cron,Quartz Scheduler,Dayofweek,我探索并发现,在quartz cron表达式中: sec min hour day_of_month month day_of_week year, 我们可以提供月中日或周中日,但不能同时提供这两个,因为尚未实施 我想在每个两周之后运行调度程序,并在周一、周四、周五下午12点运行调度程序,那么我如何实现这一点呢 提供以下cron表达式将不起作用: * * 12 1/14 * MON, THU, FRI * 因为我们不能同时提供每周的第几天和每月的第几天 因此,请告诉我是否存在其他方法,其他

我探索并发现,在quartz cron表达式中:

sec min hour day_of_month month day_of_week year, 
我们可以提供
月中日
周中日
,但不能同时提供这两个,因为尚未实施

我想在每个
两周之后运行调度程序,并在周一、周四、周五下午12点运行调度程序,那么我如何实现这一点呢

提供以下cron表达式将不起作用:

* * 12 1/14 * MON, THU, FRI *
因为我们不能同时提供每周的第几天和每月的第几天

因此,请告诉我是否存在其他方法,其他库等,我不想在业务逻辑中处理它,而只是简单地使用
cronexpression
应该满足我的需要。

试试这个网站,它可能会帮到你

或1,4,5

对于你的问题,这就是那个表达

0 12 * * 1,4,5
请谅解:

  +---------------- minute (0 - 59)
  |  +------------- hour (0 - 23)
  |  |  +---------- day of month (1 - 31)
  |  |  |  +------- month (1 - 12)
  |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
  |  |  |  |  |
  0  12 *  * 1,4,5  command to be executed
输出:

“At 12:00 on Monday, Thursday, and Friday.”
next at 2016-12-15 12:00:00
then at 2016-12-16 12:00:00
then at 2016-12-19 12:00:00
then at 2016-12-22 12:00:00
then at 2016-12-23 12:00:00
.....
试试这个网站,它可能会对你有所帮助

或1,4,5

对于你的问题,这就是那个表达

0 12 * * 1,4,5
请谅解:

  +---------------- minute (0 - 59)
  |  +------------- hour (0 - 23)
  |  |  +---------- day of month (1 - 31)
  |  |  |  +------- month (1 - 12)
  |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
  |  |  |  |  |
  0  12 *  * 1,4,5  command to be executed
输出:

“At 12:00 on Monday, Thursday, and Friday.”
next at 2016-12-15 12:00:00
then at 2016-12-16 12:00:00
then at 2016-12-19 12:00:00
then at 2016-12-22 12:00:00
then at 2016-12-23 12:00:00
.....

据我所知,您需要这样一个查询:

0 0 12 1-7,14-21 * MON,THU,FRI *
也就是说,您将从一个月的第一天到第七天,从一个月的第十四天到第二十一天运行您的程序,但前提是一周中的某一天是星期一、星期四或星期五

因此,下一次发生的时间将是:

2016-12-19T12:00:00+01:00
2017-01-02T12:00:00+01:00
2017-01-05T12:00:00+01:00
2017-01-06T12:00:00+01:00
....

另一个问题是,如果评估员能够正确处理此类查询,您必须进行检查。

据我所知,您需要此类查询:

0 0 12 1-7,14-21 * MON,THU,FRI *
也就是说,您将从一个月的第一天到第七天,从一个月的第十四天到第二十一天运行您的程序,但前提是一周中的某一天是星期一、星期四或星期五

因此,下一次发生的时间将是:

2016-12-19T12:00:00+01:00
2017-01-02T12:00:00+01:00
2017-01-05T12:00:00+01:00
2017-01-06T12:00:00+01:00
....

另一个问题是,如果评估员能够正确处理此类查询,您必须进行检查。

不,先生,实际上您提供的表达式只告诉我们将作业安排在1、4、5天。我希望它每4天重复一次这个循环。@user2118745不,亲爱的。它在每周一、周四、周五的12点运行。我刚刚给出了以逗号分隔的工作日列表(1,4,5)。这每周都在重复。@user2118745如果您还有任何疑问,我可以尝试澄清。如果有助于解决问题,请接受答案。好的,先生,现在如果我想达到这个目标,应该从今天开始,每两周在周一、周四和周五运行一次。那么如何实现呢?@user2118745没那么容易。对于每周,我们可以使用列表(0-7)中的周值。你们问了一些奇怪的问题,这些问题可以使用列表(1-31)中的月份值进行编辑,但那个些星期并不是那么容易。你需要自己调整。不,先生,实际上你提供的表达只告诉我们工作安排在1、4、5天。我希望它每4天重复一次这个循环。@user2118745不,亲爱的。它在每周一、周四、周五的12点运行。我刚刚给出了以逗号分隔的工作日列表(1,4,5)。这每周都在重复。@user2118745如果您还有任何疑问,我可以尝试澄清。如果有助于解决问题,请接受答案。好的,先生,现在如果我想达到这个目标,应该从今天开始,每两周在周一、周四和周五运行一次。那么如何实现呢?@user2118745没那么容易。对于每周,我们可以使用列表(0-7)中的周值。你们问了一些奇怪的问题,这些问题可以使用列表(1-31)中的月份值进行编辑,但那个些星期并不是那么容易。你需要自己调整一下。