如何通过 moment.js 获取最近的日期?

2024-01-08

日期列表:

const datesToBeChecked = [ '2020-07-06', '2020-07-13', '2020-07-20' ]

检查日期

const dateToCheckFor = '2020-07-07';

如何使用 moment.js 获取日期数组中日期的最接近日期?
我想要函数返回2020-07-13在这种情况下。
我在网上找到了几个答案,但它们都没有使用 YYYY-MM-DD 格式,也没有 moment.js。我想使用 moment.js 来实现这一点,谢谢!


您可以使用差异法 https://momentjs.com/docs/#/displaying/difference/比较日期。

const datesToBeChecked = ['2020-07-06', '2020-07-13', '2020-07-20']
const dateToCheckFor = '2020-07-07';

let nearestDate;

datesToBeChecked.forEach(date => {
  let diff = moment(date).diff(moment(dateToCheckFor), 'days');
  if (diff > 0) {
    if (nearestDate) {
      if (moment(date).diff(moment(nearestDate), 'days') < 0) {
        nearestDate = date;
      }
    } else {
      nearestDate = date;
    }
  }
});

console.log(nearestDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.26.0/moment.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 moment.js 获取最近的日期? 的相关文章

随机推荐