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

标签 javascript momentjs epoch

我有以下代码将纪元转换为日期时间。

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

当我检查epochtimeconvetrer处的时间戳时,我恢复了正确的时间,

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

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

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 并尝试对其进行转换时,该网站清楚地显示一条消息,其中显示“假设此时间戳以毫秒为单位”。请参阅下面的快照:

enter image description here

这就是为什么它能正确显示结果。

关于javascript - Moment.js,转换纪元时日期时间无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51925837/

相关文章:

javascript - 是否可以判断是否由于安装了应用程序而打开了覆盖新标签页?

javascript - 使用 webpack 排除未使用的语言环境 momentjs

javascript - 使用 javascript 或 jquery 以 24 小时格式减去时间

java - 此特定格式的时间戳

excel - 将 'x hrs y min z sec' 转换为秒

带有 JavaScript 对象的 PHP 数组到 JavaScript

javascript - 元素不会附加到容器

javascript - 延迟脚本与预加载链接有何不同?

javascript - 在 moment.js 中从月份转换为结束月份

date - Flutter/Dart : DateTime. fromMillisecondsSinceEpoch 返回不正确的时间