【问题标题】:compare date and time in JS比较JS中的日期和时间
【发布时间】:2019-01-12 07:14:58
【问题描述】:

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

到期令牌为 3600(根据 oauth 标准,这意味着一小时)

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

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

问题是date.now() 在 long int 中给出值,即

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

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

【问题讨论】:

    标签: javascript date compare


    【解决方案1】:

    使用 new Date() 而不是 Date.now()

    根据MDN

    如果没有提供参数,构造函数会创建一个 JavaScript 根据系统设置的当前日期和时间的日期对象 时区偏移量。

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

    【讨论】:

      【解决方案2】:

      由于 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】:

        这里是比较日期的例子:

        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

        希望对你有帮助

        【讨论】:

          【解决方案4】:
          var time=new Date()
          var now=String(time.getHours())+":"+String(time.getMinutes())+":"+String(time.getSeconds());
          

          这将为您提供 H:M:S 的时间。 格式,这将是字符串。

          【讨论】:

            猜你喜欢
            • 2014-05-01
            • 2015-07-20
            • 1970-01-01
            • 2012-04-20
            • 1970-01-01
            • 2020-12-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多