javascript - 需要清楚 javascript 日期逻辑

标签 javascript datetime local-storage

我对这两种情况都感到错误

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

最佳答案

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

您需要先解析它(使用 Date constructor ):

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();

关于javascript - 需要清楚 javascript 日期逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231983/

相关文章:

javascript - 在 Meteor 中,如何编写一个助手在每个循环的 Handlebars 中使用?

php - MySQL 中各种日期/时间字段类型的优缺点是什么?

sql-server - 如何在sql server中获取两个日期之间的当前月份名称,开始日期和结束日期

powershell - 在 powershell 中使用 ToString 格式化日期

javascript - 无法从浏览器的本地存储中删除项目

javascript - 什么是 window.localStorage

javascript - 如何在单击按钮时附加多个下拉列表,每个下拉列表在名称属性中具有不同的索引?

javascript - 如何清理最不常用的 Node 包?

javascript - IE 没有设置 document.referrer

javascript - 如何将新创建的ID放入LocalStorage?