根据所需日期的计数,获取两个日期之间线性分布的日期数组 - javascript,d3.js,moment.js

ma2*_*a2s 2 javascript d3.js momentjs

假设我有约会日期:

Mon Mar 31 2014 05:42:35 GMT+0200 (CEST)

Wed Sep 02 2015 10:29:38 GMT+0200 (CEST)

totalNumberOfDates = 37;

我想获得37个日期的数组(第一个和最后一个日期应该是上面的日期),它们在给定日期之间完全线性分布.

我很欣赏D3.js或moment.js中的优雅解决方案

Rou*_*uby 5

function getDateRange(startDate, endDate, steps)
{
    var stepSize = (endDate - startDate) / steps;
    return d3.range(steps + 1).map(function(i){ return moment(startDate).add(stepSize * i, 'ms').toDate() });
}
Run Code Online (Sandbox Code Playgroud)

其中startDateendDateDate对象.

请注意,该函数将返回一个长度为的数组steps+1.因为从我的观点来看,这是合乎逻辑的.例如,如果你想要从12点到14点的一步,我希望结果是这样的[12oclock, 14oclock].