Later.js неправильный ответ от next()
Я использую 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)
(Сейчас четверг, 05 декабря 2013 г. 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")));
Это вывод:
Дата {Пт дек 06 2013 12:05:00 GMT+0100 (стандартное романтическое время)} Чт дек 05 2013 9:05:00 GMT+0200 верно Чт дек 05 2013 13:05:00 GMT + 0200 верно Чт дек 05 2013 17:05:00 GMT+0200 false Чт дек 05 2013 21:05:00 GMT+0200 false Пт дек 06 2013 01:05:00 GMT+0200 false Пт дек 06 2013 05:05:00 GMT + 0200 верно Пт дек 06 2013 09:05:00 GMT+0200 верно Пт дек 06 2013 13:05:00 GMT + 0200 верно Пт дек 06 2013 17:05:00 GMT+0200 false Пт дек 06 2013 21:05:00 GMT+0200 false
1 ответ
Решение
Сортировка часов (3,7,11,15,19,23), кажется, решает проблему..