代碼參考:
//獲取前一個月的日期 //入參格式: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'));
至此。轉載請注明出處,記得掃碼打賞支持哦,謝謝!

