2

later.js を使用して cron の次の発生を計算していますが、間違った結果が返されます。

これが私のコードです:

var laterCron = later.parse.cron("5 11,15,19,23,3,7 * * *");
console.log(later.schedule(laterCron).next());

レスポンスは

Fri Dec 06 2013 13:05:00 GMT+0200 (EET)

(現在は 2013 年 12 月 5 日木曜日 14:36:38 GMT+0200 (EET) です) ただし、次の実行は 15:05 GMT (または 17:05 GMT+02) である必要があります。

何か助けはありますか?(私は最新バージョンの 1.1.6 を使用しています)

フィドル

var laterCron = later.parse.cron("5 11,15,19,23,3,7 * * *");
console.log(later.schedule(laterCron).next());
console.log("Thu Dec 05 2013 9:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Thu Dec 05 2013 9:05:00 GMT+0200")));
console.log("Thu Dec 05 2013 13:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Thu Dec 05 2013 13:05:00 GMT+0200")));
console.log("Thu Dec 05 2013 17:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Thu Dec 05 2013 17:05:00 GMT+0200")));
console.log("Thu Dec 05 2013 21:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Thu Dec 05 2013 21:05:00 GMT+0200")));
console.log("Fri Dec 06 2013 01:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Fri Dec 06 2013 01:05:00 GMT+0200")));
console.log("Fri Dec 06 2013 05:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Fri Dec 06 2013 05:05:00 GMT+0200")));
console.log("Fri Dec 06 2013 09:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Fri Dec 06 2013 09:05:00 GMT+0200")));
console.log("Fri Dec 06 2013 13:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Fri Dec 06 2013 13:05:00 GMT+0200")));
console.log("Fri Dec 06 2013 17:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Fri Dec 06 2013 17:05:00 GMT+0200")));
console.log("Fri Dec 06 2013 21:05:00 GMT+0200", later.schedule(laterCron).isValid(new Date("Fri Dec 06 2013 21:05:00 GMT+0200")));

これは出力です:

日時 {Fri Dec 06 2013 12:05:00 GMT+0100 (Romance Standard Time)}
2013 年 12 月 5 日木曜日 9:05:00 GMT+0200 true
2013 年 12 月 5 日木曜日 13:05:00 GMT+0200 true
2013 年 12 月 5 日木曜日 17:05:00 GMT+0200 false
2013 年 12 月 5 日木曜日 21:05:00 GMT+0200 false
金 12 月 06 2013 01:05:00 GMT+0200 false
金 12 月 06 2013 05:05:00 GMT+0200 true
金 12 月 06 2013 09:05:00 GMT+0200 true
金 12 月 06 2013 13:05:00 GMT+0200 true
金 12 月 06 2013 17:05:00 GMT+0200 false
金 12 月 06 2013 21:05:00 GMT+0200 false
4

1 に答える 1

1

時間 (3,7,11,15,19,23) を並べ替えると、問題が解決するようです..

于 2013-12-05T13:03:56.907 に答える