【问题标题】:Javascript how to get the quarter of a timestamp?Javascript如何获取时间戳的四分之一?
【发布时间】:2020-01-13 18:19:06
【问题描述】:

假设我正在尝试为将在时间 X 过期的令牌设置超时。

X 可以是一小时、10 分钟甚至 1 天。

所以基本上我需要将超时设置如下:-

如果时间戳是从现在开始的 1 小时,那么它应该在 45 分钟内。

如果时间戳是从现在开始的 10 分钟,那么它应该在 ~ 7.5 分钟内。

如果时间戳是从现在开始的 1 天,那么它应该在 18 小时内。

假设这是我的时间戳 1579019590

给出以下翻译

GMT: Tuesday, January 14, 2020 4:33:10 PM
Your time zone: Tuesday, January 14, 2020 11:33:10 AM GMT-05:00
Relative: In a day

假设这是我在星期一上午 11:33:10 收到的令牌的到期时间(令牌有效期为 1 天)。

因此,我需要在我的 javascript 中设置一个超时,该超时将在星期一上午 05:33:10(上午 11:33:10 前 6 小时)触发。

【问题讨论】:

  • 你自己试过什么?
  • 时间戳似乎是秒,ECMAScript 是毫秒,所以你需要考虑到这一点。
  • @RobG 是的,之后我在代码中乘以 1000。我正在尝试做一个解决方案,如果我取得了一些成就,我会在这里发布。阅读 moment.js
  • 这里已经有很多time ago 日期格式问题。使用其中一个开始,然后发布您遇到的任何问题。

标签: javascript date timestamp timeout


【解决方案1】:

我会识别进入的令牌类型并运行预设的计算器来确定减去的时间量。

您可以识别现在和令牌之间的时间差。如果它大于一天,则具有特定于查找从那时到现在之间的小时数的函数,计算所需的百分比差异,并将您的 dateTime 变量修改为新值。

如果时间差在一小时内,请使用分钟计算函数计算分钟并找到其中的百分比差异,然后修改您的 dateTime 变量。

等等。

为了提高效率,您可以在 switch case 语句中执行此操作。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    相关资源
    最近更新 更多