使用dayjs()查看一个日期是否在另一个日期之后



我正在尝试通过数组循环并将今天之后的任务推到另一个数组中。有人能告诉我我做错了什么吗?(任务。reminderDate是正确的类型,我在其他函数中使用过它,它工作)

taskList.forEach((task) => {
if (dayjs().isAfter(dayjs(task.reminderDate))) {
missedFilter.push(task);
}
});

我想你误解了isAfter的工作原理。

console.log(dayjs("2031-01-01").isAfter(dayjs())); //This returns true

当前您正在比较今天是否在提醒日期之后。如果您想更改日期的顺序:

if (dayjs(task.reminderDate).isAfter(dayjs()))

现在你比较的是提醒日期是否在今天的日期之后

你的描述没有描述你在做什么,但我不确定哪个是错的:

这是在测试是否"today"(task.reminderDate)

那么,输出应该是数组"missedFilter"应该写满在今天之前有提醒日期的任务。

这似乎是一个合理的事情,但是你声明你想把今天之后的任务推入数组。

我不认为你的实际代码有什么问题,但是你想要做的事情的语义可能有问题。

。如果你真的希望将来的任务有一个提醒日期,你应该反转代码:

var today = dayjs();
taskList.forEach((task) -> {
if (dayjs(task.reminderDate).isAfter(today))) {
missedFilter.push(task);
}
});

(还要注意,将dayjs初始化器推到循环之外。小效率,但也有助于清晰。)

相关内容

  • 没有找到相关文章

最新更新