posts - 59,comments - 0,views - 34881

需求内容:
找出时间列表中和当前日期最接近的日期,显示“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   好久不见-库克  阅读(224)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示