一、截图


二、代码
// 获取固定延迟天数之后的日期
const dalayAfterDate = (delayDay) => {
const date = new Date()
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
let newYear = year
let newMonth = month
let newDay = parseInt(day) + delayDay
let lastDay = getLastDay(year,month) //当月最后一天的日期
if (newDay > lastDay) {
if(newMonth > 12){
newYear = newYear + 1
newMonth = 1
newDay = 1
}else{
newMonth = newMonth + 1
newDay = 1
}
}
console.log(date)
// console.log(newYear)
// console.log(newMonth)
// console.log(newDay)
// console.log(new Date(newYear, newMonth-1,newDay).getTime())
return new Date(newYear, newMonth-1,newDay).getTime()
}
// 判断最后一天是几号
function getLastDay(year, month) {
const isLeapYear = ((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0)
const maxDays = [1,3,5,7,8,10,12]
const middleDays = [4,6,9,11]
month = Number(month)
if (month == 2) {
if (isLeapYear) {
return 29
} else {
return 28
}
} else if (maxDays.includes(month)) {
return 31
} else if (middleDays.includes(month)) {
return 30
}
}