【问题标题】:JavaScript: Compare 2 UNIX timestamps returns unexpected resultJavaScript:比较 2 个 UNIX 时间戳返回意外结果
【发布时间】:2021-08-19 07:49:22
【问题描述】:

我需要比较 2 个 UNIX 时间戳,其中一个是令牌过期时间(将来),另一个是 Date.now()。由于某种原因,通过比较 2 个时间戳,它会返回错误的结果。它返回 validUntil 小于 Date.now()。我不明白为什么,谷歌搜索但没有找到任何信息。

var validUntil = 1629361800

// if validUntil is less than now, then token is expired

validUntil < Date.now()

// returns false, however, validUntil is greater than Date.now()

【问题讨论】:

  • 我无法理解你的问题,这不是&lt; 符号应该如何工作,因为validUntil 大于Date.now()
  • 误解是 Date.now()unix 时间戳 - 当它不是时

标签: javascript unix-timestamp


【解决方案1】:

Date.now() 返回毫秒数,而不是秒...所以您需要将其除以 1000 或将另一个乘以 1000。

var validUntil = 1629361800
validUntil * 1000 < Date.now()

【讨论】:

    【解决方案2】:

    Date.now() 自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数,您的 validUntil 看起来像第二个数字

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2017-02-12
      • 1970-01-01
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多