在写图标或者列表的时候会有获取近一个月的数据的功能,封装成函数,直接拿用,不用谢!
上代码
// 获取某月的最后一天 2021-2 -> 2021-2-28
getCurrentMonthLast (date){
var endDate = new Date(date); //date 是需要传递的时间如:2018-08
var month=endDate.getMonth();
var nextMonth=++month;
var nextMonthFirstDay=new Date(endDate.getFullYear(),nextMonth,1);
var oneDay=1000*60*60*24;
var dateString=new Date(nextMonthFirstDay-oneDay);
var dateArr = dateString.toLocaleDateString().split('/')
return dateArr[dateArr.length - 1]; //toLocaleDateString() 返回 如:2018/8/31
},
// 获取昨天和上一个月
getMonthDay() {
let oneDay = 24 * 60 * 60 * 1000
let date = new Date(Date.now() - oneDay)// 昨天
let nowDate = {
year: date.getFullYear(), // 年
month: date.getMonth() + 1, // 月份
day: date.getDate(), // 当前日期前一天(昨天)
}
let startMonth = nowDate.month - 1
let startYear = nowDate.year
let startDay = nowDate.day
if (startMonth <= 0) {
startYear = startYear - 1
startMonth = 12
}
let startLastDay = this.getCurrentMonthLast(`${startYear}-${startMonth}`)
if (nowDate.day > startLastDay) {
startDay = startLastDay
} else {
startDay = nowDate.day
}
return [
`${startYear}-${startMonth}-${startDay}`,
`${nowDate.year}-${nowDate.month}-${nowDate.day}`
]
},