在保存时间和当前时间之间计算本地存储 JavaScript



我正在尝试计算放入本地存储的日期和当前时间戳之间的日期。我想检查从它保存在本地存储中的那一刻到现在有多少分钟。我不知道如何将本地存储中的日期保存为propper日期对象!

代码如下:

<html>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
</head> 

<input type="text" id="text"> 
<button value="save" onClick="setStorage()" id="btn"> Save </button>

<script>
function setStorage(){
var currentTime = new Date();
var text = $("#text").val();
var testobj = {'test' : 1, 'refresh' : currentTime};
localStorage.setItem('storage', JSON.stringify(testobj));
}
// setinterval code is on different page
setInterval(function() {
var date2 = new Date();
var retreived = localStorage.getItem('storage');
var date1 = new Date(retreived['refresh'])
console.log(date1);
var parse = JSON.parse(retreived);
console.log(date2 - date1);
$(".label").text(localStorage.getItem('storage'));
}, 1000);
</script>

设置间隔位于不同的页面上。标签的结果是这样的:

{"测试":1,"刷新":"2018-05-24T17:36:06.471Z"}

我如何将该日期与当前日期进行比较,并检查这 2 次之间有多少分钟?

谢谢!

只需更改var date1 = new Date(retreived['refresh'])

var date1 = new Date(JSON.parse(retreived)['refresh'])

console.log(date2.getMinutes() - date1.getMinutes());

我不知道如何将本地存储中的日期保存为属性日期对象!

  • 不要 - 相反,只保存时间戳,并仅在需要时将其解析为Date/人类可读的文本,您将节省大量混乱

这对我有用!谢谢@CertainPerformance

最新更新