【问题标题】:Moment.js , Invalid date time when converting epochtimeMoment.js ,转换 epochtime 时的日期时间无效
【发布时间】:2019-01-26 07:02:57
【问题描述】:

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

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/

【问题讨论】:

  • 有人关心为什么不赞成投票?

标签: javascript momentjs epoch


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

这就是为什么,它正确地显示了结果。

【讨论】:

  • 谢谢,它有帮助,而且肯定会帮助很多人。标记为答案。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-18
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    相关资源
    最近更新 更多