Later.js来自next()的错误回复

时间:2013-12-05 12:38:27

标签: javascript momentjs laterjs

我正在使用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(或格林威治标准时间17点05分+ 02)

有任何帮助吗? (我使用的是最新版本,1.1.6)

Fiddle

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")));

这是输出:

Date {Fri Dec 06 2013 12:05:00 GMT+0100 (Romance Standard Time)}
Thu Dec 05 2013 9:05:00 GMT+0200 true
Thu Dec 05 2013 13:05:00 GMT+0200 true
Thu Dec 05 2013 17:05:00 GMT+0200 false
Thu Dec 05 2013 21:05:00 GMT+0200 false
Fri Dec 06 2013 01:05:00 GMT+0200 false
Fri Dec 06 2013 05:05:00 GMT+0200 true
Fri Dec 06 2013 09:05:00 GMT+0200 true
Fri Dec 06 2013 13:05:00 GMT+0200 true
Fri Dec 06 2013 17:05:00 GMT+0200 false
Fri Dec 06 2013 21:05:00 GMT+0200 false

1 个答案:

答案 0 :(得分:1)

排序小时数(3,7,11,15,19,23)似乎解决了这个问题。