需求

单选按钮
显示当前 前两个月,当前月,后一个月
实现
function getMonth(currentYear,currentMonth,num){
let time={};
let diff= currentMonth-num
if( currentMonth- num <= 0 ){
time.value = `${currentYear-1}-${ diff+12 < 10 ? '0':'' }${diff+12}`
}else if( currentMonth - num > 12 ){
time.value = `${currentYear+1}-${ diff-12 < 10 ? '0':'' }${diff-12}`
}else{
time.value = `${currentYear}-${ diff < 10 ? '0':'' }${diff}`
}
time.active=false
time.name=time.value.split('-')[1]
return time
}
let dataList = []
let currentMonth = new Date().getMonth()+1
let currentYear = new Date().getFullYear()
let monthArr= [2,1,0,-1]
monthArr.map(item=>{
dataList.push(getMonth(currentYear,currentMonth,item))
})
console.log(dataList)

心得
开始写的时候用一个月31天的时间戳去算前两个月的时间,忽略了特殊月份2月份,之后决定采用如上算法 解决了这个问题
本文分享了如何实现JavaScript函数来获取当前日期前两个月、当前月和后一个月的日期。通过调整参数,算法能够适应不同月份(包括2月)的情况,避免了使用固定天数可能导致的问题。作者在实现过程中遇到了2月特殊性的挑战,最终通过改进算法成功解决。
7342

被折叠的 条评论
为什么被折叠?



