js获取今天、昨天、明天的日期函数代码(js获取当前日期的下一天)没想到

随心笔谈3年前发布 admin
211 0 0

文章摘要

这篇文章介绍了一个JavaScript函数`getDays`,用于根据给定的日期、类型和格式字符串计算前一个日期、当前日期或下一个日期,并格式化输出。函数通过处理月份和年份的边界情况(如月份减到0或年份变化),确保计算的日期正确无误。示例展示了如何获取2023-5-13的上一个日期、2023-5-30的下一个日期,以及2023-5-31的下一个日期。文章突出了函数的核心逻辑和边界处理机制。

function getDays(date, type, fmt) {
let currentDate=new Date(date)
let y=currentDate.getFullYear()
let m=currentDate.getMonth() + 1
let d=currentDate.getDate()
function dateFormat(date, fmt) {
let y=new Date(date).getFullYear()
let m=new Date(date).getMonth() + 1
let d=new Date(date).getDate()
return `${y}${fmt}${m}${fmt}${d}`
}
switch (type) {
case “prev”:
if (d – 1 < 1) {
if (m – 1 < 1) {
y=y – 1
m=12
} else {
m=m – 1
}
d=new Date(y, m, 0).getDate()
} else {
d=d – 1
}
break
case “current”:
break
case “next”:
if (d + 1 > new Date(y, m, 0).getDate()) {
if (m + 1 > 12) {
y=y + 1
m=1
d=1
} else {
m=m + 1
d=1
}
} else {
d=d + 1
}
break;
default:
break;
}
return dateFormat(new Date(`${y}-${m}-${d}`), fmt)
}
console.log(getDays(new Date(‘2023-5-13’), “prev”, “-“));
console.log(getDays(new Date(‘2023-5-30’), “next”, “-“));
console.log(getDays(new Date(‘2023-5-31’), “next”, “-“));

© 版权声明

相关文章