JavaScript 计算两个日期时间段内的日期

本文介绍了一个用于生成指定日期范围内所有日期的算法,包括日期转换和日期范围判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*******************************************************************************
 * 计算两个日期时间段内所有日期
 * 
 * @param value1
 *            开始日期 YYYY-MM-DD
 * @param value2
 *            结束日期
 * return 日期数组
 */
function dataScope(value1, value2) {
	var getDate = function(str) {
		var tempDate = new Date();
		var list = str.split("-");
		tempDate.setFullYear(list[0]);
		tempDate.setMonth(list[1] - 1);
		tempDate.setDate(list[2]);
		return tempDate;
	}
	var date1 = getDate(value1);
	var date2 = getDate(value2);
	if (date1 > date2) {
		var tempDate = date1;
		date1 = date2;
		date2 = tempDate;
	}
	date1.setDate(date1.getDate() + 1);
	var dateArr = [];
	var i = 0;
	while (!(date1.getFullYear() == date2.getFullYear()
			&& date1.getMonth() == date2.getMonth() && date1.getDate() == date2
			.getDate())) {
		 var dayStr =date1.getDate().toString();
			if(dayStr.length ==1){
				dayStr="0"+dayStr;
			}
		dateArr[i] = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-"
				+ dayStr;
		i++;
		/*
		 * document.write("<div style='display:block'>" + date1.getFullYear() +
		 * "-" + (date1.getMonth() + 1) + "-" + date1.getDate() + "</div>");
		 */
		// document.write(dateArr[i] + "<br>");
		date1.setDate(date1.getDate() + 1);
	}
	return dateArr;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值