Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找date是否是从today Momentjs开始的下一个有效日期_Javascript_Date_Momentjs - Fatal编程技术网

Javascript 查找date是否是从today Momentjs开始的下一个有效日期

Javascript 查找date是否是从today Momentjs开始的下一个有效日期,javascript,date,momentjs,Javascript,Date,Momentjs,这是一个直截了当的问题,但我没有找到任何合适的解决办法。给定一组日期,即 ['2015-01-01','2015-04-20',…] 有没有办法检查数组中的某个项是否是今天之后的下一个有效日期 我正在使用moment.js […]有没有办法检查数组中的某个项是否是今天之后的下一个有效日期 您的描述对我来说不是很清楚,但听起来好像您试图通过编程确定日期数组是否包含明天的日期(即“今天之后的下一个有效日期”)。在这种情况下,请继续阅读: 首先,使用moment.js以与数组中字符串相同的格式获取明天

这是一个直截了当的问题,但我没有找到任何合适的解决办法。给定一组日期,即
['2015-01-01','2015-04-20',…]

有没有办法检查数组中的某个项是否是今天之后的下一个有效日期
我正在使用
moment.js

[…]有没有办法检查数组中的某个项是否是今天之后的下一个有效日期

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

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

var tomorrow = moment().add(1, 'days').format('YYYY-MM-DD');
现在,您可以使用
=
==
在数组上循环,并将每个值与明天的
进行比较(在这种情况下无关紧要):

如果您只想检查数组中是否有任何日期是明天的日期,请使用
array\some

var containsTomorrow = dates.some(function(date) {
  return date == tomorrow;
});

这实际上可以不用momentjs解决

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
var todaysDate=新日期();
var-min;
var指数;
变量数组=['2015-01-01','2015-04-20',…];
对于(var i=0;i0)){
min=ts;
指数=i;
}
}
//索引将包含最近的下一个日期的索引

谢谢,但下一个有效日期不一定是明天。如果阵列包含2015-04-25而不是2015-04-21,则不会返回任何内容。25号是数组中从今天开始的下一个有效日期,我想得到数组中从今天开始的下一个日期。并不是说第二天是不是明天。
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