如何在JavaScript中操作日期

use*_*795 1 javascript

我在操作日期时遇到问题。我在localstorage中有一个变量saveTime变量,其中包含以下日期:

Wed Aug 31 2016 16:31:30 GMT-0300 (Hora oficial do Brasil)
Run Code Online (Sandbox Code Playgroud)

我需要为该变量saveTime添加1小时,以检查是否经过了1小时:

var savedTime = new Date(savedTime); //converts string to date object
var checkExpired = savedTime.setHours(savedTime.getHours() + 1); //add 1 hour to savedTime
Run Code Online (Sandbox Code Playgroud)

但是,尝试在此变量上添加1小时以转换对象中的字符串时,此(savedTime)返回:

1472675490000
Run Code Online (Sandbox Code Playgroud)

我期望的是带有+ 1小时的字符串:

Wed Aug 31 2016 17:31:30 GMT-0300 (Hora oficial do Brasil)
Run Code Online (Sandbox Code Playgroud)

并比较日期以检查是否经过了1小时

var currentDate = new Date();
if(currentDate > checkExpired) {
    //passed 1 hour
}
Run Code Online (Sandbox Code Playgroud)

C14*_*14L 5

instance.setHours()操作实例。所以你可以做

d = new Date('Wed Aug 31 2016 16:31:30 GMT-0300');
d.setHours(d.getHours() + 1);
Run Code Online (Sandbox Code Playgroud)

现在d包含新的日期时间。