Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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中日期列表中的日期相同?_Javascript_Angularjs - Fatal编程技术网

如何检查当前日期是否与javascript中日期列表中的日期相同?

如何检查当前日期是否与javascript中日期列表中的日期相同?,javascript,angularjs,Javascript,Angularjs,例如,我有3次约会: 2020-07-14 2020-07-16 2020-07-15 如果任何日期与当前日期(2020-07-16)匹配,我将显示该日期的值。 这是我写的代码,但每次我重新加载页面时,都会显示其他值 : for(var i=0;i

例如,我有3次约会:

  • 2020-07-14

  • 2020-07-16

  • 2020-07-15

如果任何日期与当前日期(2020-07-16)匹配,我将显示该日期的值。 这是我写的代码,但每次我重新加载页面时,都会显示其他值 :

for(var i=0;i
简单地说:

  • 将当前日期格式化为字符串
  • 只需比较两个字符串
const dates=['2020-07-14'、'2020-07-16'、'2020-07-15';
console.log(
日期。包括(
新日期().toISOString().slice(0,10)
)

);我认为您应该以相反的方向处理它,而不是将当前日期格式化为接收日期格式(YYYY-MM-DD),而是将这些日期格式化为时间戳

const currentDate=新日期();
currentDate.setHours(0)
currentDate.setMinutes(-currentDate.getTimezoneOffset())
currentDate.setSeconds(0)
currentDate.setmillizes(0)
const currentTimestamp=currentDate.getTime();//将日期转换为通用时间戳
console.log(currentTimestamp==新日期(“2020-07-14”).getTime();

console.log(currentTimestamp==新日期(“2020-07-16”).getTime()
var current\u date=new date().toISOString().slice(0,10)
这不是他在做什么吗?你知道如何从当前日期中获取与这些日期匹配的最近日期,如果当前日期与这些日期中的任何一个都不匹配?当然,获取
日期
数组,将它们更改为毫秒时间戳。将当前日期也更改为毫秒。创建差异阵列。然后只需对数组进行排序,就可以轻松获得最小的差异
for (var i = 0; i < response.pen_feeding_scheduler_list.length; i++) {
      if (response.pen_feeding_scheduler_list[i].feeding_frequency_rule) {
         vm.feed_date_start = response.pen_feeding_scheduler_list[i].start_feeding_date;
         var current_date = new Date().toISOString().slice(0, 10);
      if (current_date == vm.feed_date_start) {
         vm.dateSet = true;
      } else if (moment(vm.feed_date_start).isBefore(current_date)) {
         vm.dateSet = true;
      } else if (moment(vm.feed_date_start).isAfter(current_date)) {
         vm.dateSet = false;
      }
        if (vm.dateSet) {
        response.feeding_frequency = getFrequency(response.pen_feeding_scheduler_list[i].feeding_frequency_rule);
         }
           }
      }