我有一个 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()
时是否需要指定某种格式?我在这里缺少什么?
最佳答案
从严格的 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/