存储日期并从本地存储中检索

时间:2013-12-12 08:13:54

标签: javascript jquery html5 date local-storage

我将日期存储到本地存储中,如下所示。

JS:

var currentTime = new Date(); //get the current time.

//Clock in the time.
localStorage.time = currentTime;

当我尝试稍后使用...

检索它时
var timeObj = new Date(localStorage.time);
var checkInDayOfMonth = timeObj.getUTCDate(); //returns 1-31 

timeObj没有正确的日期时间,而是显示当前时间,好像它忽略了我发送的时间参数。

我正在使用getUTCDate来获取当月的这一天。如果今天的价值与存储的价值不同,我知道这是新的一天。

打开Goog​​le Chrome Inspector会以以下格式显示以localStorage存储的日期:

Wed Dec 11 2013 22:17:45 GMT-0800 (PST)

这不是日期构造函数的可接受格式吗?

如何正确存储和检索localStorage中的日期?

3 个答案:

答案 0 :(得分:13)

您可以将其作为unix时间戳返回。确保将数字传递给Date构造函数。

首先,保存。添加+到new,使其成为时间戳。

localStorage.setItem('time', +new Date);

然后稍后检索它,但将数字传递给Date构造函数:

new Date(parseInt(localStorage.getItem('time')));

答案 1 :(得分:3)

存储UNIX时间戳,然后从中重新创建日期对象:

window.localStorage.time = new Date().getTime();

var date = new Date(parseInt(window.localStorage.time));

答案 2 :(得分:0)

试试这个:

var currentTimeStr = timeObj.getDate() + "-" + (timeObj.getMonth()+1) + "-" + timeObj.getUTCFullYear() + " " + timeObj.getHours() + ":" + timeObj.getMinutes();

它给了我输出:“12-12-2013 13:44”(我在下午1:51检索。所以它没有给出当前时间。)

希望它有所帮助。