比较JS中的日期和时间

时间:2019-01-12 07:14:58

标签: javascript date compare

我正在使用oAuth2对用户进行身份验证,这会给我到期令牌。

有效期令牌为3600(根据oauth标准,这表示一小时)

现在,当令牌到期时,我想使用刷新令牌来获取新的访问令牌。

要查看令牌是否已过期,我正在考虑一小时后存储当前Date.now()和Date.now()的值。

问题是date.now()以long int形式赋值,即

let date = Date.now() 
console.log(date)

现在,我无法理解如何在这里比较时间。谁能帮我。

4 个答案:

答案 0 :(得分:2)

使用Date.now()的new Date()接口

按照MDN

  

如果未提供任何参数,则构造函数将创建一个JavaScript   根据系统设置的当前日期和时间的日期对象   时区偏移。

然后可以使用><运算符直接比较日期

答案 1 :(得分:1)

下面是一个比较日期的示例:

Date.prototype.addHours= function(h){ //simulation after 1 hour
    this.setHours(this.getHours()+h);
    return this;
}

var dateOld = new Date();
var dateNow = new Date().addHours(1);//test after 1 hour

//output: false
console.log(dateOld.getTime() === dateNow.getTime());//compare the date

希望这会有所帮助

答案 2 :(得分:1)

由于 Date.now 返回一个时间值,并且ECMAScript小时始终精确地存在3.6e6毫秒,因此您只需添加3.6e6即可在一小时内获得时间值,例如

var now = Date.now();
var expires = now + 3.6e6;

console.log(`expired yet? ${now > expires}`);
console.log(`now    : ${new Date(now).toLocaleString()}\nexpires: ${new Date(expires).toLocaleString()}`);

答案 3 :(得分:0)

var time=new Date()
var now=String(time.getHours())+":"+String(time.getMinutes())+":"+String(time.getSeconds());

这将使您有时间在H:M:S。 格式化,它将是字符串。