欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js获取指定时间范围内指定间隔天数的所有日期

程序员文章站 2022-06-07 11:52:09
...

需求描述:

前端js,已知开始时间a、结束时间b和间隔天数c,要求取在a-b这两个时间范围内、间隔c天的所有日期。

代码:

// startDate: 计划开始时间; endDate:计划结束时间;dayLength:每隔几天,0-代表每天,1-代表日期间隔一天
function getDateStr(startDate, endDate, dayLength) {
	var str = startDate;
	for (var i = 0 ;; i++) {
		var getDate = getTargetDate(startDate, dayLength);
		startDate = getDate;
		if (getDate <= endDate) {
			str += ','+getDate;
		} else {
			break;
		}
	}
	console.log(str);
}

// startDate: 开始时间;dayLength:每隔几天,0-代表获取每天,1-代表日期间隔一天
function getTargetDate(date,dayLength) {
	dayLength = dayLength + 1;
    var tempDate = new Date(date);
    tempDate.setDate(tempDate.getDate() + dayLength);
    var year = tempDate.getFullYear();
    var month = tempDate.getMonth() + 1 < 10 ? "0" + (tempDate.getMonth() + 1) : tempDate.getMonth() + 1;
    var day = tempDate.getDate() < 10 ? "0" + tempDate.getDate() : tempDate.getDate();
    return year + "-" + month + "-" + day;
}

方法调用

getDateStr('2019-07-01', '2019-07-10', 0);

方法参考:JS获取指定日期前后相隔几天的日期https://blog.csdn.net/qq_42755868/article/details/91888695