JavaScript-截止日期未重置

JavaScript - deadline not resetting

本文关键字:日期 JavaScript-      更新时间:2023-09-26

有人能告诉我为什么截止日期一到就不重置(即"其他"部分)吗?

var timeInMinutes = 1;
var currentTime = Date.parse(new Date());
var deadline = localStorage.deadline;
if(deadline) {
    deadline = new Date(deadline);
}else {
    deadline = new Date(Date.now() + timeInMinutes*60*1000);
    localStorage.deadline = deadline;
}

谢谢。

else语句将只在第一次运行,因为在那之后deadline将始终是"truthy"。

由于else语句应该在第一次运行,并且只要截止日期过去,就将if条件更改为:

var deadline = localStorage.deadline;
if(deadline && new Date() < new Date(deadline)) {
  deadline = new Date(deadline);
} else {
  deadline = new Date(Date.now() + timeInMinutes*60*1000);
  localStorage.deadline = deadline;
}

这基本上是说,"如果有一个截止日期我们还没有达到,继续使用当前的截止日期。否则,设置一个新的截止日期"