怎样才能通过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>
相关文章