需求内容:
找出时间列表中和当前日期最接近的日期,显示“xx-xx开始”,(最接近的日期不包括已经过去的日期)

点击查看代码
const dateList = [
'2023-03-03',
'2023-03-04',
'2023-03-15',
'2023-02-22',
'2023-05-24',
'2023-05-23',
'2023-03-25',
]
let newStampTime = []
const currentTime = Date.parse(new Date().toJSON().slice(0, 10)) // 当前时间戳
let currentIndex = 0
newStampTime = dateList.map(item => Date.parse(new Date(item))) // dateList 数组变换成时间戳数组
let diffNum = 0
newStampTime.map((item, index) => {
if (currentTime - item < 0) {
if ((currentTime - item > diffNum && diffNum < 0) || diffNum === 0) {
diffNum = currentTime - item
currentIndex = index
}
if (diffNum === 0) {
diffNum = currentTime - item
currentIndex = index
}
}
})
console.log('原始数据的时间', dateList)
console.log('数组日期的时间戳数组', newStampTime)
console.log('当前日期离数组中时间最近的下标值是', currentIndex)
console.log('最近的日期是', dateList[currentIndex])
console.log('当前的日期是', new Date().toJSON())
执行结果:

浙公网安备 33010602011771号