【发布时间】:2021-02-05 17:36:56
【问题描述】:
我需要获取一次系统时间,然后将其存储在 localStorage 中,然后将此存储的值与另一个系统日期进行比较,然后在未来日期等于或大于存储的日期时执行操作。我已经尝试过,但我坚持让第一次获取系统时间的功能只运行一次,这样我就可以得到一个未来的日期来比较。 这是我的代码
console.log(formatTime());
function formatTime() {
var date = new Date();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var ampm = hours >= 12 ? "PM" : "AM";
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? "0" + minutes : minutes;
return (strTime = date.getDay() + "/" + date.getMonth() + "/" + date.getFullYear() + " " + hours + ":" + minutes + ":" + seconds + " " + ampm);
}
document.getElementById("currentdt").innerHTML = strTime;
var strTime1 = formatTime();
var timeString = JSON.stringify(strTime1);
localStorage.setItem("strTime1", timeString);
var timeStringFromLocalStorage = localStorage.getItem("strTime1");
var timeFromLocalStorage = JSON.parse(timeStringFromLocalStorage);
document.getElementById("time").innerHTML = strTime1;
console.log(timeStringFromLocalStorage);
function compare(dateTimeA, dateTimeB) {
var momentA = moment(dateTimeA, "strTime1");
var momentB = moment(dateTimeB, "strTime");
if (momentA > momentB) return 1;
else if (momentA < momentB) return -1;
else return 0;
}
alert(compare("strTime1", "strTime"));
【问题讨论】:
-
对不起,我忘了说我正在使用moment.js进行日期比较。
-
目前您正在尝试将字符串作为日期进行比较,为什么?存储的日期不会总是早于当前日期吗?
-
是的,它会更旧。我需要说的是,您今天运行该页面,以便存储该日期。每次运行该页面时,脚本都应该检查存储的日期,并且当过去了 15 天时,脚本应该将您重定向到另一个页面(这最后一部分不包含在我发布的代码中) .问题是我需要一个代码修复,以便日期只存储一次,第一次运行。我在那里堆。
标签: javascript date comparison storage