输入时间字符串,获取上一个月同一天,同时判断是否超出上月最大日期
如果输入的为当月最大日期,则返回上月最大日期
例如:
输入2019-02-28 返回:2019-01-31
输入:2019-03-31 返回:2019-02-28
function getLastMonthMaxDay(date){
var year = date.substr(0, 4);
var month = date.substr(5, 2);
var day = date.substr(8, 2);
var thisDay = new Date(year,month,0);
var maxThisDay = thisDay.getDate();
if (month == '01') {
year = year - 1;
month = '12';
} else {
if (month <= 10) {
month = '0' + (month - 1);
} else {
month = (month - 1);
}
}
var lastDay = new Date(year,month,0);
var maxLastDay = lastDay.getDate();
if(day>maxLastDay){
day = maxLastDay;
}else if(day==maxThisDay){
day = maxLastDay;
}
return year +'-'+ month +'-'+ day;
}
参考:https://blog.youkuaiyun.com/zhoujun8066/article/details/80282363