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