JS 返回前一个月的当天日期
代码参考:
//获取前一个月的日期 //入参格式:YYYY-MM-DD function getPreMonthDay(date) { var arr = date.split('-'); var year = arr[0]; //当前年 var month = arr[1]; //当前月 var day = arr[2]; //当前日 //验证日期格式为YYYY-MM-DD var reg = date.match(/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/); if ((!reg) || (month > 12) || (day > 31)) { console.log('日期或格式有误!请输入正确的日期格式(年-月-日)'); return; } var pre_year = year; //前一个月的年 var pre_month = parseInt(month) - 1; //前一个月的月,以下几行是上月数值特殊处理 if (pre_month === 0) { pre_year = parseInt(pre_year) - 1; pre_month = 12; } var pre_day = parseInt(day); //前一个月的日,以下几行是特殊处理前一个月总天数 var pre_month_alldays = new Date(pre_year, pre_month, 0).getDate(); //巧妙处理,返回某个月的总天数 if (pre_day > pre_month_alldays) { pre_day = pre_month_alldays; } if (pre_month < 10) { //补0 pre_month = '0' + pre_month; } else if (pre_day < 10) { //补0 pre_day = '0' + pre_day; } var pre_month_day = pre_year + '-' + pre_month + '-' + pre_day; return pre_month_day; } console.log(getPreMonthDay('2020-1-3'));
至此。转载请注明出处,记得扫码打赏支持哦,谢谢!