首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找日期是否为今天Momentjs中的下一个有效日期

查找日期是否为今天Momentjs中的下一个有效日期
EN

Stack Overflow用户
提问于 2015-04-21 17:46:11
回答 2查看 569关注 0票数 1

这是一个直截了当的问题,但我找不到任何合适的解决方案。给定一个日期数组,即

['2015-01-01', '2015-04-20', ...]

有没有办法检查数组中的一项是不是今天之后的下一个有效日期?

我正在使用moment.js

EN

回答 2

Stack Overflow用户

发布于 2015-04-21 17:53:53

…有没有办法检查数组中的一项是不是今天之后的下一个有效日期?

您的描述对我来说并不是很清楚,但听起来您似乎是在尝试以编程方式确定日期数组是否包含明天的日期(即“今天之后的下一个有效日期”)。在这种情况下,请继续阅读:

首先,使用moment.js以与数组中的字符串相同的格式获取明天的日期:

代码语言:javascript
复制
var tomorrow = moment().add(1, 'days').format('YYYY-MM-DD');

现在,您只需遍历数组,并使用=====将每个值与tomorrow进行比较(在本例中无关紧要):

代码语言:javascript
复制
dates.forEach(function(date) {
  if (date == tomorrow) {
    // Bingo!
  }
});

如果只想检查数组中是否有日期是明天的日期,请使用Array#some

代码语言:javascript
复制
var containsTomorrow = dates.some(function(date) {
  return date == tomorrow;
});
票数 2
EN

Stack Overflow用户

发布于 2015-04-21 17:54:54

这实际上不需要使用momentjs就可以解决。

代码语言:javascript
复制
var todaysDate = new Date();
var min;
var index;
var array = ['2015-01-01', '2015-04-20', ...];
for (var i = 0; i < array.length; i++) {
    var inputDate = new Date(array[i]);
    var ts = inputDate - todaysDate;
    if (!min || (ts < min && ts > 0) ) {
        min = ts;
        index = i;
    }
}
// index will contain the index of the nearest next date
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29768582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档