【问题标题】:Unix timestamp being interpreted incorrectly by JavaScript Date()JavaScript Date() 错误地解释了 Unix 时间戳
【发布时间】:2018-01-02 08:41:46
【问题描述】:

我这样创建日期,带有从 firebase 检索的时间戳:

let da = new Date(item.date.day);

我已经验证item.date.day 是一个时间戳,并且是正确的时间戳。

但是,它总是创建日期:

Sun Jan 18 1970 03:53:45 GMT-0500 (EST)

无论时间戳是什么。我检查了时间戳here,它们是:

1500825600 1499097600 1500134400 1501084800

它们应该都是 7 月的日期(这些是 item.date.day 的值)。

非常奇怪。任何帮助都非常需要和感激。

【问题讨论】:

  • 乘以 1000:您以秒为单位存储它们,但 Date 预计为毫秒。 new Date(1500825600*1000) => Sun Jul 23 2017 09:00:00 GMT-0700 (PDT)

标签: angular date firebase ionic-framework timestamp


【解决方案1】:

在 JavaScript 中,new Date(value) 期望值在 milliseconds since "1 January 1970 00:00:00" 中。

如果您将 unix 时间戳(自“1970 年 1 月 1 日 00:00:00”以来的秒数)乘以 1000,您将得到正确的结果。

【讨论】:

    猜你喜欢
    • 2010-10-07
    • 2016-04-03
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2018-06-09
    • 1970-01-01
    相关资源
    最近更新 更多