计算保存和当前时间localstorage javascript

时间:2018-05-24 21:47:43

标签: javascript jquery date local-storage

我正在尝试计算我输入localstorage的日期和当前时间戳。我想查看在localstorage中保存的时刻与现在之间的分钟数。我无法弄清楚如何将localstorage中的日期保存为propper date对象!

代码如下:

<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>

setinterval位于不同的页面上。标签的结果如下:

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

我如何将该日期与当前日期进行比较,并检查这两次之间的分钟数?

谢谢!

2 个答案:

答案 0 :(得分:0)

只需使用

更改var date1 = new Date(retreived['refresh'])即可
var date1 = new Date(JSON.parse(retreived)['refresh'])

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

答案 1 :(得分:0)

我无法弄清楚如何将localstorage中的日期保存为propper date对象!

  • 不要 - 只保存时间戳,只在需要时将其解析为日期/人类可读文本,这样可以为您节省大量的困惑

这对我有用!谢谢@CertainPerformance