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

标签 javascript d3.js momentjs

假设我有约会:

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() });
}

其中 startDateendDateDate 对象。

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

关于javascript - 获取两个日期之间线性分布的日期数组,给定所需日期的计数 - javascript、d3.js、moment.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29815149/

相关文章:

javascript - 如何使用 DC.js 使用以下数据类型渲染多折线图 - JAVASCRIPT (DC.js)

javascript - 时刻js : Keep UTC date/time in UTC only

javascript - 使用 moment.js 解析字符串到日期

javascript - 如何在页面加载时将 jinja 代码中的时间值转换为浏览器的本地时区?

javascript - 为什么 jQuery 找不到这个 react.js 元素?

javascript - `AssignmentExpression`如何从EcmaScript语法中的 `Statement`导出

javascript - MongoDB 顺序执行查询而不是并行执行

javascript - Disqus 是否有公共(public)事件可以附加?

javascript - 如何让多个 SVG 绘图在滚动时平滑渲染?

javascript - 为什么此站点在注册点击事件时遇到问题?