我正在尝试编写一个函数,该函数获取代表日期的字符串数组,然后检查给定日期是否在数组中。但是,即使满足条件,我也总是得到false
。
这是最少的代码:
let dates = ['2020-06-29', '2020-07-13'];
dates = dates.map(some_day => new Date(some_day));
const someDay = new Date(2020, 5, 29);
console.log(dates.some(some_day => some_day.getTime() === someDay.getTime()));
编辑1 :(仍无法正常工作,但我正在改进代码)
let dates = ['2020-06-29', '2020-07-13'];
dates = dates.map(some_day => new Date(some_day));
let someDay = new Date(2020, 5, 29);
const date_string = `${someDay.getFullYear()}-${someDay.getMonth() + 1}-${someDay.getDate()}`;
someDay = new Date(date_string);
console.log(dates.some(some_day => some_day.getTime() === someDay.getTime()));
答案 0 :(得分:0)
由于时区不同,请操纵timezoneoffset或:
dates.some(some_day =>
(
(some_day.getFullYear() === someDay.getFullYear()) &&
(some_day.getMonth() === someDay.getMonth()) &&
(some_day.getDate() === someDay.getDate())
)
)