2017-10-09 39 views
0

我知道這個問題被問過。但這些問題的答案在我看來是不正確的。CronExpression每2天

我想有(石英)一CronExpression每2天即時間表。 的CronExpression 「應爲」 0 0 0 1/2 * ? *

但是:今日(2017年10月9日)開始CronMaker表明,這是不正確的。這個表達式基本上意味着:從每個月的第一天開始每2天計劃一次。這意味着:開始於2017年10月9日的下一個時間是:

週三,2017年10月11日12:00 AM
週五,2017年10月13日,上午12:00
週日,2017年10月15日12:00 AM
週二,2017年10月17日12:00 AM
週四10月19日,2017年12:00 AM
週六,2017年10月21日上午12:00
週一,2017年10月23日,上午12:00
週三,2017年10月25日12:00 AM
週五,2017年10月27日,上午12:00
週日,2017年10月29日12:00 AM
週二,2017年10月31日12:00 AM
週三,2017年11月1日上午12:00

正如你可以看到:有在最後兩次之間只有1天。

所以,當我使用freeformatter來形容它指出了cronexpression:

在0點0分,每2天開始1號,每個月

那麼這是顯示在上面列出的時間。但是我需要每兩天正確激活一次的東西。

週二,2017年10月31日12:00 AM
週四,2017年11月2日上午12:00

等。

顯然是從石英簡單的觸發是對我並沒有真正的選擇!

+0

在cron你可以嘗試一週中的一天,而不是一天一個月:'0 0 * * */2' – nbari

+0

這有基本相同的結果但按周計算。 – Naxos84

+0

@ Naxos84爲什麼SimpleTrigger不是你的選擇?當我們前進到下個月時保留上下文SimpleTrigger是要走的路。 – Srinivas

回答

1

這是因爲你誤解了cron表達式的工作原理。對於每個月它將從月的第一天開始。如果它能起作用,下個月不適合表達的1/2部分。

對於更詳細的解釋,請看這裏:

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

+0

這可能是正確的。但是,對於這個問題和其他問題的所有解釋,我想我現在已經明白瞭如何以及如何使用。 – Naxos84

+0

聽到這真是太棒了! :) – Puchacz