我遇到操纵日期的问题。我在localstorage中有一个变量 savedTime 变量,它包含这个日期:
npm install -g typescript
npm install -g tsd@next
cd <project folder>
tsd install node
tsc -init
tsc Ingest.ts
我需要为此变量 savedTime 添加1小时以检查是否超过1小时:
Wed Aug 31 2016 16:31:30 GMT-0300 (Hora oficial do Brasil)
但是在尝试为此变量添加1小时时,转换对象中的字符串,此( savedTime )将返回:
var savedTime = new Date(savedTime); //converts string to date object
var checkExpired = savedTime.setHours(savedTime.getHours() + 1); //add 1 hour to savedTime
我期望的是+ 1小时的字符串:
1472675490000
比较日期以检查是否超过1小时
Wed Aug 31 2016 17:31:30 GMT-0300 (Hora oficial do Brasil)
答案 0 :(得分:5)
instance.setHours()
操纵实例。所以你可以做到
d = new Date('Wed Aug 31 2016 16:31:30 GMT-0300');
d.setHours(d.getHours() + 1);
现在d
包含新的日期时间。
答案 1 :(得分:2)
setHours
将操纵当前对象并返回其新值。而不是使用返回值,只需继续使用该对象。
var savedTime = new Date(savedTime); //converts string to date object
savedTime.setHours(savedTime.getHours() + 1); //add 1 hour to the savedTime
if (currentDate > savedTime) {
//passed 1 hour
}
答案 2 :(得分:0)
您将从“&#39;纪元日期”开始以毫秒为单位获取该值。这是1970年1月1日。
如果您希望以正确的格式进行此操作,则需要使用某些数学/其他Date对象函数将此信息解析为该信息。
这是执行此操作的文档,它非常简单:
答案 3 :(得分:0)
使用.getTime()
if(currentDate.getTime() > checkExpired) {
//passed 1 hour
}