赞
踩
//处理日期格式 function formate(data, format) { data = new Date(data); var o = { "M+": data.getMonth() + 1, //月 "d+": data.getDate(), //日 "h+": data.getHours(), //时 "m+": data.getMinutes(), //分 "s+": data.getSeconds(), //秒 } if(/(y+)/.test(format)) { format = format.replace(RegExp.$1, (data.getFullYear() + "").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; } //获取当前日期的上个月日期 function getLastMonth(style = 'yyyy-MM'){ let date = formate(new Date(),'yyyy/MM/dd'); var arr = date.split('/'); var year = arr[0]; //当前年 var month = arr[1]; //当前月 var day = arr[2]; //当前日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前月的天数 var year2 = year; var month2 = parseInt(month) - 1; if(month2 == 0) { year2 = parseInt(year2) - 1; month2 = 12; } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if(day2 > days2) { day2 = days2; } if(month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '/' + month2 + '/' + day2; let t3 = formate(t2,style); return t3; }
使用:
let d1 = getLastMonth('yyyy-MM-dd');
let d2 = getLastMonth('yyyy_MM--===dd');
console.log(d1) //2020-02-29
console.log(d2) //2020_02--===29
可以适用于正常(d1)及非正常(d2)的日期格式.
注:formate方法可以具体处理到时分秒的日期格式,但是获取当前日期的上一个月的日期是没有对时分秒进行处理的,只能具体到天,想要具体到时分秒的话,需要对getLastMonth这个方法进行修改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。