1、需求1
function computingTime(year,mouth,day,initMouth){
mouth = Number(mouth);
day = Number(day);
var numberMonths = mouth + initMouth;
//获取其实月的最后一天
var startLastDay = getLastDay(year,mouth);
//定义失效日期标识符
var failureTime,failureYear,failureMouth,failureDay;
if(numberMonths > 12){//跨年
failureYear = year + 1;
failureMouth = numberMonths - 12;
//获取失效月最后一天
failureDay = getLastDay(failureYear,failureMouth);
//控制日期格式
if(failureMouth < 10){
failureMouth = "0"+failureMouth;
}
//起始天不是该月最后一天
if(day < startLastDay){
if(failureDay > day){
if(day < 10){
failureDay = "0" + day;
}else{
failureDay = day;
}
}
}
failureTime = failureYear +"-" + failureMouth +"-" + failureDay
console.log(failureTime);
}else{//不跨年
failureYear = year;
failureMouth = numberMonths;
failureDay = getLastDay(failureYear,failureMouth);
if(failureMouth < 10){
failureMouth = "0"+failureMouth;
}
//起始天不是该月最后一天
if(day < startLastDay){
if(failureDay > day){
if(day < 10){
failureDay = "0" + day;
}else{
failureDay = day;
}
}
}
failureTime = failureYear +"-" + failureMouth +"-" + failureDay
console.log(failureTime);
}
}
computingTime(2017,2,28,1);//2017-03-31
2、需求2
function computingTime(year,mouth,day,initMouth){
mouth = Number(mouth);
day = Number(day);
var numberMonths = mouth + initMouth;
//获取其实月的最后一天
//var startLastDay = getLastDay(year,mouth);
//定义失效日期标识符
var failureTime,failureYear,failureMouth,failureDay;
if(numberMonths > 12){//跨年
failureYear = year + 1;
failureMouth = numberMonths - 12;
//获取失效月最后一天
failureDay = getLastDay(failureYear,failureMouth);
//控制日期格式
if(failureMouth < 10){
failureMouth = "0"+failureMouth;
}
//起始天不是该月最后一天
if(day < failureDay){
if(day < 10){
failureDay = "0" + day;
}else{
failureDay = day;
}
}
failureTime = failureYear +"-" + failureMouth +"-" + failureDay
console.log(failureTime);
}else{//不跨年
failureYear = year;
failureMouth = numberMonths;
failureDay = getLastDay(failureYear,failureMouth);
if(failureMouth < 10){
failureMouth = "0"+failureMouth;
}
//起始天不是该月最后一天
if(day < failureDay){
if(day < 10){
failureDay = "0" + day;
}else{
failureDay = day;
}
}
failureTime = failureYear +"-" + failureMouth +"-" + failureDay
console.log(failureTime);
}
}
computingTime(2017,2,28,1);//2017-03-28
需要导入函数getLastDay;