Later.js每小时重复一次不按预期工作?

时间:2016-07-25 17:28:19

标签: javascript date laterjs

我使用Later.js进行重复活动。我试图测试recur()功能,它似乎没有正常工作,我也不知道为什么。这是我的榜样:

var schedule_hourly = later.schedule(later.parse.recur().every(x).hour()),
    start_hourly = moment(start_day + " " + start_time, 'YYYY/MM/DD HH:mm');
var occurrences_hourly = schedule_hourly.next(y, start_hourly);

for (var i = 0; i < occurrences_hourly.length; i++) {
    var execution_dates_hourly = [];
    execution_dates_hourly = moment(occurrences_hourly[i]).format('YYYY/MM/DD HH:mm');
    console.log(execution_dates_hourly);
}

其中:

  • xy是我可以更改的值;
  • start_day的格式为YYYY / MM / DD;
  • start_time的格式为HH:mm。

初始日期为2016/07/20 10:00,x = 2且y = 5我在控制台上获得以下内容:

2016/07/20 10:00
2016/07/20 12:00
2016/07/20 14:00
2016/07/20 16:00
2016/07/20 18:00

所以它正常工作。我每隔2小时就会重复一次,从10:00开始重复5次。

但是,如果我将x更改为8,我会得到:

2016/07/20 16:00
2016/07/21 00:00
2016/07/21 08:00
2016/07/21 16:00
2016/07/22 00:00

为什么现在16:00开始?不应该像以前一样从10:00开始,然后到下一个18:00开始吗?

1 个答案:

答案 0 :(得分:0)

当然,对于子孙后代,它已经过时了,但仍然如此。 就我所知,诀窍是它每隔 8th 小时发生一次,在您的示例中,该数字每小时可以划分为8。如果您再次尝试使用x=2 ,但从11:00开始,您会发现它仍然是12:00 14:00 16:00,依此类推,而不是11:00 13:0015:00。 真的很奇怪。