怎样才能通过Moment.js获得最近的日期呢?

How can I get the nearest date through moment.js?(怎样才能通过Moment.js获得最近的日期呢?)

本文介绍了怎样才能通过Moment.js获得最近的日期呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

日期列表:

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

要检查的日期

const dateToCheckFor = '2020-07-07';

如何使用Moment.js获取日期数组中日期的最近日期?
在本例中,我希望函数返回2020-07-13
我在网上找到了几个答案,但没有一个使用YYYY-MM-DD格式,也没有一个使用oment.js。我想使用Moment.js来实现这一点,谢谢!

推荐答案

可以使用diff method比较日期。

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>

 

这篇关于怎样才能通过Moment.js获得最近的日期呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:怎样才能通过Moment.js获得最近的日期呢?

基础教程推荐