js实现指定日期增加指定月份,并用指定后日期计算时间差

js实现指定日期增加指定月份,并用指定后日期计算时间差

	//map为数据集
	var yearA = map.get("billEndDate").getFullYear();
	var monthA = map.get("billEndDate").getMonth()+1;
	var dayA = map.get("billEndDate").getDate();
	//后面不加00:00:00.000可能会出现天数差
	var endDate = yearA+"-"+monthA+"-"+dayA+" 00:00:00.000";
	
	var yearB = map.get("receivedDate").getFullYear();
	var monthB = map.get("receivedDate").getMonth()+1;
	var dayB = map.get("receivedDate").getDate();
	var startDate = yearB+"-"+monthB+"-"+dayB+" 00:00:00.000";;
	//算出相差天数					
    var days = parseInt((Date.parse(endDate) - Date.parse(startDate)) / (1000 * 60 * 60 * 24));
	
	/*********************当前月加N月计算天数差**************************/
	var  date = new Date(map.get("receivedDate"));

	var currentYear = date.getFullYear();//得到日期年
	var currentMonth = date.getMonth()+1;//得到日期月
	var currentDate = date.getDate();//得到日期天
	
	var rstYear = currentYear; //结果年
		var rstMonth = date.getMonth()+2;//得到日期月+之后n个月
		
		if(rstMonth /12 > 1){
		    rstYear += Math.floor(rstMonth /12) ;
		    rstMonth = rstMonth %12;
		}
		
		var rstDay = new Date(rstYear, rstMonth, 0).getDate();//得到新的日期月份最大有几天
		 rstDay = Math.min(currentDate, rstDay );//日期设置为两者较小的一个
		var ymd = rstYear+"-"+rstMonth+"-"+rstDay+" 00:00:00.000" ;
		//算出天差
		var dayss = parseInt((Date.parse(endDate) - Date.parse(ymd)) / (1000 * 60 * 60 * 24));
		//赋值
		data.set("discountDays",dayss) ;
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值