将日期范围划分为已知数量的相等块

dea*_*fry 2 javascript momentjs reactjs

我已经看到将日期范围拆分为日期范围块将日期范围拆分为几个特定的​​日期范围块,这不是我要找的。

我正在寻找来自 momenjs 的简单函数,这将帮助我了解已知的开始日期、结束日期和块(切片)的数量,以返回相等块的数组。

07-15-20 开始日期 07-27-20 结束日期 我想将其分成 12 块

结果 = [07.15.20 00:00, 07.16.20 00:00, 07.17.20 00:00...]

当日期不那么简单时,麻烦就开始了。

对于前。如果我的开始日期为

    minTimeX = moment(sortedTests[0].date).format('x');
    maxTimeX = moment(sortedTests.length - 1].date).format('x');
Run Code Online (Sandbox Code Playgroud)

我想将其分成相等的 12 个块,但我不知道如何手动计算它。它是在momentjs中实现的吗?

小智 5

不确定 moment 是否支持您正在寻找的内容,但您可以像这样在 javascript 中执行此操作

function splitDateIntoEqualIntervals(startDate, endData, numberOfIntervals){

 let diff =  endData.getTime() - startDate.getTime();
 let intervalLength = diff/numberOfIntervals;
 let intervals = [];
 for(let i = 1 ; i <= numberOfIntervals;i++)
   intervals.push(new Date(startDate.getTime()+i*intervalLength))
 return intervals;

}
Run Code Online (Sandbox Code Playgroud)