我有一个格式为 MM/DD/YYYY 的日期数组。我需要从今天开始找到 future 的下一个最接近的日期。假设今天是 2016 年 1 月 22 日,那么 2016 年 2 月 19 日将返回。
2/3/2015
7/5/2015
1/21/2016
2/19/2016
7/1/2016
我尝试过使用子字符串来分离月、日、年,并尝试根据这些值进行排序,但肯定有更好的方法。
最佳答案
不需要排序算法。您只需迭代一次并找到大于或等于今天的最近日期。
伪代码
closest <- infinity
foreach date in dates:
if (date >= now and date < closest) then
closest <- d
return closest
JavaScript
const dates = [
'2/3/2035',
'7/5/2035',
'1/21/2036',
'2/19/2036',
'7/1/2036',
'10/22/2039',
'08/12/2039',
];
const now = new Date();
let closest = Infinity;
dates.forEach(function(d) {
const date = new Date(d);
if (date >= now && (date < new Date(closest) || date < closest)) {
closest = d;
}
});
console.log(closest);
关于javascript - 以 MM/DD/YYYY 格式查找下一个最接近的日期 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37505117/