主要考虑二月份的场景
/**
* 计算N年后,YYYYMMDD
* startdate:为开始时间,格式YYYYMMDD
* nextYear:为间隔年月,如1表示一年后,2表示两年后
*/
function getAfterNYear(startdate,nextYear){
var expriedYear = parseInt(startdate.substring(0,4)) + nextYear;
var expriedMonth = startdate.substring(4,6);
var expriedDay = startdate.substring(6);
//考虑二月份场景,若N年后的二月份日期大于该年的二月份的最后一天,则取该年二月份最后一天
if(expriedMonth == '02' || expriedMonth == 2){
var monthEndDate = new Date(expriedYear ,expriedMonth,0).getDate();
if(parseInt(expriedDay) > monthEndDate){//为月底时间
//取两年后的二月份最后一天
expriedDay = monthEndDate;
}
}
return expriedYear+expriedMonth+expriedDay;
}