需求内容:
找出时间列表中和当前日期最接近的日期,显示“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())
    

执行结果:

posted on 2023-02-23 15:44  好久不见-库克  阅读(243)  评论(0)    收藏  举报