这看起来可能是一个愚蠢的问题,但我有一个相当困难的时间,理解Typescript.我有以下代码:
var date = new Date();
window.localStorage.setItem("date", date);
正如你所看到的,我生成了今天的日期并通过本地存储器存储它,现在我想在另一个函数中检索这个值,给它加上7天,再次存储它,并在一个警告框中显示新的值。
var date = window.localStorage.getItem("date");
date.setDate(date.getDate() + 7);
window.localStorage.setItem("date", date);
alert(date);
当我运行这段代码时,它一直告诉我第二个代码块(可能是.getDate()
函数)的第二个规则是Undefined is not a function
。
有人知道我可能做错了什么吗?我原以为这段简单的javascript在typescript中运行得很好,不需要更改代码...
3条答案
按热度按时间xxslljrj1#
放入localStorage的所有内容都存储为字符串,您的日期最初是一个对象,您需要在从localStorage获取值后将字符串转换回对象。
dgsult0t2#
您应该将时间戳存储在localStorage中,然后检索它,使用该时间戳创建新的Date,添加7天,然后再次存储它:
vs3odd8k3#
如果执行以下操作
您会发现
date1
是一个字符串,这是因为localStorage将其所有数据都存储为字符串。您应该通过使用返回的字符串创建新的Date来分析字符串。