代码之家  ›  专栏  ›  技术社区  ›  Naxos84

CronExpression每2天一次

  •  0
  • Naxos84  · 技术社区  · 8 年前

    我知道以前有人问过这个问题。但在我看来,这些问题的答案并不正确。

    我想要一个(Quartz)的CronExpression,它每2天调度一次。 CronExpression“应该是” 0 0 0 1/2 * ? * .

    但是:从今天开始(2017年10月9日) CronMaker 表明这不是真的。这个表达的基本意思是:从每个月的第一天开始,每两天安排一次。这意味着:从2017年10月9日开始,接下来的时间是:

    2017年10月11日星期三上午12:00


    2017年10月17日星期二上午12:00

    2017年10月21日星期六上午12:00

    2017年10月25日星期三上午12:00
    2017年10月27日星期五上午12:00
    2017年10月29日星期日上午12:00
    2017年10月31日星期二上午12:00
    2017年11月1日星期三上午12:00

    正如你所见:最后两次之间只有一天。

    所以当我使用 freeformatter 为了描述它声明的cronexpression:

    每月1日起每2天的00:00:00am

    2017年10月31日星期二上午12:00
    2017年11月2日星期四上午12:00

    等等

    显然,石英的简单触发器对我来说不是一个真正的选择!

    1 回复  |  直到 8 年前
        1
  •  1
  •   Puchacz    8 年前

    这是因为你误解了cron表达式的工作原理。每个月的第一天开始。如果它能以其他方式工作,那么下个月将不适合表达的一半。

    Quartz.net - Repeat on day n, of every m months?