How can I get the nearest date through 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获得最近的日期呢?
基础教程推荐
猜你喜欢
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01