我有这些数据:
const start = "29.09.2021";
const end = "29.10.2021";
const interval = "days"; //also: "month", "week", "year"
const intervalCount = 3;
如何获取存在于start
和end
之间的日期数组,其间隔为:==;days&;和intervalCount == 3,则其他日期应该是02.10,05.10,08.10,11.10等,但interval也可以是"月", "周"one_answers"年"所以我必须根据动态参数
来计算我甚至不知道如何开始,感谢任何帮助!
这可以使用这里找到的Date对象来完成
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
您可以创建一个函数,如
function getDates(startDateString, stopDateString, interval){
var dates = [];
var start = new Date(startDateString);
var stop = new Date(stopDateString);
while (start < stop) {
dates.push (start.toJSON());
start.setDate(start.getDate() + interval);
}
return dates;
}
然后你可以通过调用
来运行这个函数dateArray = getDates("09-29-2021", "10-29-2021", 1)
它涵盖了一天的迭代。一个星期只是7天的间隔。
dateArray = getDates("09-29-2021", "10-29-2021", 7)
移动月份进入边缘情况,可以通过基于您的用例的条件来处理(例如,如果日期是1月31日,那么一个月的跳跃应该带您到3月3日还是2月28日/29日?)