我正在使用oAuth2对用户进行身份验证,这给了我到期令牌。
到期令牌为 3600(根据 oauth 标准,这意味着一小时)
现在,当令牌过期时,我想使用刷新令牌来获取新的访问令牌。
要查看令牌是否已过期,我正在考虑在一小时后存储当前Date.now()的值和Date.now()的值。
问题是date.now()
在长整型中给出价值,即
let date = Date.now()
console.log(date)
现在,我无法理解如何在这里比较时间。有人能帮我吗?
使用 Date.now() 的 new Date()
intead
根据 MDN
如果未提供参数,构造函数将创建一个 JavaScript 根据系统设置的当前日期和时间的日期对象 对于时区偏移量。
然后可以使用>
和<
运算符直接比较日期
由于 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()}`);
下面是一个比较日期的示例:
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
希望这有帮助
var time=new Date()
var now=String(time.getHours())+":"+String(time.getMinutes())+":"+String(time.getSeconds());
这将给你时间在H:M:S。格式,这将是字符串。