Moment.js , 转换纪元时间时日期时间无效

Moment.js , Invalid date time when converting epochtime

我有以下代码将 epochtime 转换为 dateTime。

var newDate = moment.unix(1525168800000).format("MM/DD/YYYY");
alert(newDate);

当我在 epochtimeconvetrer 检查时间戳时,我得到了正确的时间,

GMT: Tuesday, May 1, 2018 10:00:00 AM

但是当我尝试通过解析 moment 来获取相同的值时,得到无效的日期,

09/05/50300

http://jsfiddle.net/yLc4wops/1/

Unix time 距纪元 秒。您传递的是距纪元 毫秒。将该值除以 1000,然后再将其传递给方法:

moment.unix(1525168800).format("MM/DD/YYYY")
// "05/01/2018"

或者,您可以将值直接传递给 moment() 构造函数,该构造函数接受距纪元 .

毫秒
moment(1525168800000).format("MM/DD/YYYY")
// "05/01/2018"

当您将值粘贴到 epochconverter 并尝试对其进行转换时,该站点会清楚地显示一条消息,内容为 "Assuming that this timestamp is in milliseconds"。请参阅下面的快照:

这就是它正确显示结果的原因。

您也可以简单地用 Unix 纪元的毫秒数实例化,就像日期一样。

var newDate = moment(1525168800000).format("MM/DD/YYYY");
alert(newDate);