【问题标题】:Can't convert unix epoch / timestamp to proper time无法将 unix 纪元/时间戳转换为适当的时间
【发布时间】:2018-09-10 14:09:35
【问题描述】:

我从 API 获取估计的公交车到达时间的时间戳作为时间戳/纪元:1536589019000。如果我访问像 this 这样的网站,我会得到适当的格式:

2018 年 9 月 10 日星期一上午 7:16:59

但是,如果我尝试在 javascript 中转换日期,例如,使用 momentjs,我会得到一些遥远未来的日期:50662-08-08 08:03

moment.unix(estimatedArrivalTime).format("YYYY-MM-DD HH:mm")

如何正确转换 unix 时间戳?

【问题讨论】:

  • 您得到的时间戳是毫秒而不是秒。像这样传递它应该可以工作:moment(1536589019000).format("YYYY-MM-DD HH:mm")
  • 是的 - 如果你发布它我会接受(必须还运行 parseInt,因为某种原因时间戳以通用格式返回)
  • Unix 时间戳计算自 1970-01-01 以来的秒数,它的格式是秒而不是毫秒
  • 这就是人们需要阅读文档的原因。 :) unix() 的毫秒和秒是相邻的。

标签: javascript datetime momentjs unix-timestamp


【解决方案1】:

将时间除以千,moment.unix() 预计时间为

moment.unix(1536589019).format("YYYY-MM-DD HH:mm")
【解决方案2】:

您将获得以毫秒为单位的时间戳,而不是秒。像这样传递它应该可以工作:moment(1536589019000).format("YYYY-MM-DD HH:mm")

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2013-01-08
    • 2021-07-09
    • 1970-01-01
    • 2016-01-21
    • 2021-02-19
    • 2021-11-23
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多