0

我在变量deadlineTue Jul 05 2016 18:15:00 GMT+0100 (BST)new Date()

例如,如果我尝试执行:console.log(deadline.getTime())我得到错误:deadline.getTime is not a function但是当我在其上执行相同的功能时,new Date()尽管日期的语法完全相同,它仍然可以正常工作。任何人都可以解释一下吗?谢谢。

4

1 回答 1

4

localStorage 中的所有值始终是字符串。当您Date在 localStorage 中保存对象时,它会自动转换为string.

所以当你找回你的最后期限时,它不是Date,它是字符串表示。如果要调用Date方法,则需要将字符串表示形式转换为Date. 有可以帮助您的库(moment.js) 。

还有更简单的方法可以让您的约会回来。只是不要将其保存为默认字符串表示。将其保存为时间戳。然后,当您需要检索日期时,DatelocalStorage.

//save in localStorage
localStorage.setItem( 'deadline', deadline_date.getTime() );

//load from localStorage
var deadline = new Date( localStorage.getItem( 'deadline' ) );
于 2016-07-06T00:37:04.107 回答