javascript - Moment.js 和 Unix Epoch 转换

标签 javascript date epoch momentjs

我有一个 web 服务返回一个日期作为以下字符串:

/Date(1377907200000)/

我使用 MomentJS 将其解析为 moment 对象。

moment("/Date(1377907200000)/") => 2013 年 8 月 30 日星期五 20:00:00 GMT-0400

这一切都很好。但是当我在对象上调用 unix() 时,我得到了值 1377907200。然而,这对应于 Fri Jan 16 1970 17:45:07 GMT-0500。我可以将 unix() 返回的值相乘,但这对我来说似乎很草率。我怀疑我通过调用 unix() 所做的并不是我想的那样。调用 unix() 时是否需要指定某种格式?我在这里缺少什么?

JSFidle showing the conversion to moment and then back.

最佳答案

从严格的 JavaScript/Unix 时间 Angular 来看,meagar 提供的答案是正确的。但是,如果您只是乘以 1000,您将失去数据中可能存在的任何亚秒级精度。

Moment.js 提供了两种不同的方法,如 in the docs 所述. .unix() 以秒为单位返回值。它有效地除以 1000 并 chop 所有小数。您想要使用 .valueOf() 方法,它只返回毫秒而不做任何修改。

关于javascript - Moment.js 和 Unix Epoch 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18022534/

相关文章:

javascript - 具有两个参数的乘法函数并将结果加 100

java - 如何在 java 的 SimpleDateFormat 中转义单引号

JavaScript : Error for increment seconds

javascript - 使用背景 :true? 时如何在 MithrilJS 中使用 m.request 的值

javascript - 如何让 moment.js 将日期 '1234 56 78' 视为无效日期?

ios - 如何将日期字符串从 Rails 转换为 Swift

java - Unix 时间/纪元时间 : Date representation or time block?

java - 时代困惑,需要澄清

spring boot 2.0 + thymeleaf unix 时代至今

c# - Javascript 函数适用于 onclick 但不适用于 onfocus