假设我有约会:
2014 年 3 月 31 日星期一 05:42:35 GMT+0200(中欧夏令时)
2015 年 9 月 2 日星期三 10:29:38 GMT+0200(中欧夏令时间)
和totalNumberOfDates = 37;
我想获取 37 个日期的数组(第一个和最后一个日期应该是上面的日期),它们在给定日期之间完全线性分布。
我很欣赏 D3.js 或 moment.js 中的优雅解决方案
最佳答案
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() });
}
其中 startDate
和 endDate
是 Date 对象。
请注意,该函数将返回一个长度为 steps+1
的数组。因为从我的 Angular 来看,这是合乎逻辑的。例如,如果您想要从 12 点到 14 点一步,我希望结果类似于 [12oclock, 14oclock]
。
关于javascript - 获取两个日期之间线性分布的日期数组,给定所需日期的计数 - javascript、d3.js、moment.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29815149/