0

这两种情况我都错了

localStorage.getitem("dl-visited-date") // "Mon Oct 07 2013 13:58:18 GMT-0400 (EDT)";
currentDate // Tue Oct 08 2013 14:18:26 GMT-0400 (EDT)
currentDate > localStorage.getItem("dl-visited-date") //false
currentDate < localStorage.getItem("dl-visited-date") //false
4

2 回答 2

3

localStorage.getitem确实返回一个字符串(当您将 Date 对象存储在本地存储中时,它已被隐式字符串化)。如果将其与 Date 对象进行比较,两者都将被转换为数字,但是当这适用于 Date 对象时,字符串将变为NaN. 这可以与false任何东西相比。

您需要先解析它(使用Date构造函数):

var date = new Date(localStorage.getitem("dl-visited-date")),
    currentDate = new Date();

如果要测试它们是否相等,则需要使用纯数字。然后使用Date.parse

var dateStamp = Date.parse(localStorage.getitem("dl-visited-date")),
    currentDateStamp = Date.now();
于 2013-10-07T18:32:40.043 回答
0
$(function () {
    var dateformate = localStorage.getItem("selectedFormat");

    alert(dateformate);
}); 
于 2014-11-19T06:38:07.947 回答