使用js算出两个月之间差几个月项目需求,算出两个月之间差几个月,不足一月按一个月算,即8月1日到9月2日就算
使用js算出两个月之间差几个月
项目需求,算出两个月之间差几个月,不足一月按一个月算,即8月1日到9月2日就算两个月了,8月1日到9月1日就算一个月了,从网上找点资料,接合自己的需求,写出自己的js方法,现提供出来,供大家参考,例如开始日期为20110801,截止日期为20110902
function setRateValidity(){var beginDate = document.getElementById("crlimit:beginDate").value;var endDate = document.getElementById("crlimit:endDate").value;if(beginDate!=""&&endDate!=""&&endDate>=beginDate&&(endDate-beginDate)<=10000){var startDate = new Date(beginDate.substr(0,4),beginDate.substr(4,2)-1,beginDate.substr(6,2));//月份是从0开始算的var startDateUTC = Date.UTC(startDate.getFullYear(),startDate.getMonth(),startDate.getDate());var end = new Date(endDate.substr(0,4),endDate.substr(4,2)-1,endDate.substr(6,2));var endDateUTC = Date.UTC(end.getFullYear(),end.getMonth(),end.getDate()); var workmonthnum = 0;for (var i=startDateUTC;i<=endDateUTC ; i=i+86400000 ){ var days = new Date(i); if (days.getDate()==1){ workmonthnum++; }}if(beginDate.substr(6,2)=='01'&&endDate.substr(6,2)=='01'){workmonthnum = workmonthnum -1;}if(beginDate.substr(0,4)==endDate.substr(0,4)&&beginDate.substr(4,2)==endDate.substr(4,2)){workmonthnum = 1;}document.getElementById("crlimit:rateValidity").value = workmonthnum;}} 