【问题标题】:how to load a UTC numeric date and convert it to a unix +new Date()?如何加载 UTC 数字日期并将其转换为 unix +new Date()?
【发布时间】:2021-04-15 19:12:25
【问题描述】:

我正在使用 coingecko api,他们说 -

此 API 返回的时间戳采用 UTC 时区。

以及我正在拨打的电话:

'https://api.coingecko.com/api/v3/coins/'+'dash'+'/ohlc?vs_currency='+'eur'+'&days=365'

例如,今天应该是时间戳(我认为)是1579046400000:

new Date(1579046400000)
Wed Jan 15 2020 00:00:00 GMT+0000 (Western European Standard Time)

但是今天是:

+new Date()
1610300187790
Sun Jan 10 2021 17:36:27 GMT+0000 (Western European Standard Time)

我正在查看 javascript https://www.quackit.com/javascript/javascript_date_and_time_functions.cfm 中的 Date 对象

我很困惑。 如何将此 UTC 时间戳转换为普通的 unix 时间戳?

我什至不明白 UTC 格式是什么格式,是毫秒吗? (对我来说它看起来像几秒钟)

我能找到的所有 UTC 问题的日期都不是这样的! (它们看起来像字符串)

我什至不知道如何将这个数字加载到日期对象中:

new Date().UTC(579046400000)
VM392:1 Uncaught TypeError: (intermediate value).UTC is not a function
    at <anonymous>:1:12
(anonymous) @ VM392:1
new Date().toUTCString(579046400000)
"Sun, 10 Jan 2021 18:01:25 GMT"
new Date().

setUTCDate(579046400000)
NaN
Date.UTC(579046400000)
NaN

如何将它加载到日期对象中?

【问题讨论】:

  • 不知道为什么你认为今天是Wed Jan 15 2020?
  • 哦,你是说new Date(1579046400000) 不应该是Wed Jan 15 2020
  • ..------------
  • 579046400000 是怎么来的?
  • 能否将您正在使用的 API 调用或 API 的原始结果添加到您的问题中?我刚刚在他们的网站上测试了其中一个示例,我得到了正确的时间戳,即与 +new Date() 相同

标签: javascript date utc unix-timestamp


【解决方案1】:

数据从最旧到最年轻排序。第一个条目 - 您假设是今天的条目 - 实际上是最古老的条目,大约 365 天。列表中的最后一个条目是从今天开始的。所以 new Date(timestamps) 是处理这些日期的正确方法。 (UTC 和 Unix 时间戳对于 1972 年之后的所有内容都是相同的 - 我相信)– cuzi

我不应该有阅读障碍

@cuzi 100% 正确!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 2014-05-06
    • 1970-01-01
    • 2019-02-12
    • 2019-09-05
    • 1970-01-01
    相关资源
    最近更新 更多