比较 JS 中的日期和时间



我正在使用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。格式,这将是字符串。

相关内容

  • 没有找到相关文章

最新更新