/**
* @parms {Number} num 前几个月
* @retuns {Object} {yyyy-mm-dd, yyyy-mm-dd}
*/
const recentMonths = (num) => {
const end = new Date();
const endTime = end.valueOf(); // 获取当前时间的时间戳
// 获取当前时间的年月日
const endYear = end.getFullYear();
const month = end.getMonth() + 1;
const endMonth = month > 9 ? month : `0${month}`; // 数字小于9则进行补0处理
const day = end.getDate();
const endDay = day > 9 ? day : `0${day}`; // 数字小于9则进行补0处理
// 获取最近日期的年月日
let startYear;
let startMonth;
let startDay;
if (month > num) {
startYear = endYear;
startMonth = month - num > 9 ? month - num : `0${month - num}`;
} else {
// 年份-1
startYear = endYear - 1;
startMonth = month + 12 - num > 9 ? month + 12 - num : `0${month + 12 - num}`;
}
// 获取之前月份的天数
const dates = new Date(`${startYear}-${startMonth}`);
dates.setMonth(dates.getMonth() + 1)
dates.setDate(0)
const dayNum = dates.getDate();
if (day > dayNum) {
startDay = dayNum;
} else {
startDay = day;
}
return {
start: `${startYear}-${startMonth}-${startDay}`,
end: `${endYear}-${endMonth}-${endDay}`,
}
}
获取当前日期最近几个月的日期,如(当前时间2023-03-13近3个月的日期)
于 2023-03-13 16:20:35 首次发布