gpt4 book ai didi

javascript - 生成完整的日期对象数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:50 30 4
gpt4 key购买 nike

问题

我正在使用 nvd3 来呈现一些日期特定的数据。但是,如果没有特定日期的数据,则不存在它的记录,并且 nvd3 不会呈现该数据点,而是在确实存在的数据点之间进行插值。因此,我需要生成缺失的日期,以便 nvd3 显示没有关联数据的日期。

我想做什么

我需要生成一个如下所示的数组:

[ {year: 2015, month: 1, day: 1},
{year: 2015, month: 1, day: 2},
...
]

生成此数组的函数将采用开始日期和结束日期,并生成这两个日期之间的所有日期。

然后我会将它与我的数据数组合并。这样,有数据的日期就会有数据,没有数据的日期仍会显示在图表上,而不会跳过任何缺失的日期。

对于 Date 对象,有没有一种简单的方法可以做到这一点? IE。生成这个数组时,我需要知道哪些月份有 30 天或 31 天,二月是特殊的,闰年等等......我可以通过指定每个月的天数来强制它,但我会想知道是否有更简单的方法来做到这一点。

最佳答案

试试这个:

function getDateArray(startDate, days){
return Array(days)
.fill()
.map(function(e,idx) {
var d = new Date(startDate);
d.setDate(d.getDate() + idx);
return {
year: d.getFullYear(),
month: d.getMonth() + 1,
day: d.getDate() };
}
);
}

关于javascript - 生成完整的日期对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35142140/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com