【问题标题】:Moment returns invalid data even though date is correct即使日期正确,时刻也会返回无效数据
【发布时间】:2017-09-04 20:57:10
【问题描述】:

我有以下代码

var value = 1504528441;
var utcDateTime = moment.utc(value, "YYYY-MM-DD HH:mm:ss")

我得到Invalid date

我尝试在https://www.epochconverter.com/ 上转换此号码,它似乎转换得很好。

我不明白 moment 有什么问题。

【问题讨论】:

    标签: momentjs


    【解决方案1】:

    您使用了错误的方法,并且在解析输入和显示时刻对象值之间感到困惑。

    自 Unix 纪元(1970 年 1 月 1 日凌晨 12 点 UTC)以来,没有 moment.utc(Number, String)moment.utc(Number) 创建将 Number 输入参数视为 毫秒 的时刻对象。

    您必须使用 moment.unix(Number),因为您的 value 输入是自 Unix 纪元以来的秒数:

    要根据 Unix 时间戳(自 Unix 纪元以来的)创建时刻,请使用 moment.unix(Number)

    然后您可以使用format() 以您喜欢的格式(例如"YYYY-MM-DD HH:mm:ss")显示您的时刻对象的值。

    这是一个工作示例:

    var value = 1504528441;
    var utcDateTime = moment.unix(value);
    console.log( utcDateTime.format("YYYY-MM-DD HH:mm:ss") );
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      • 2016-05-28
      • 1970-01-01
      • 2017-05-08
      • 2020-07-24
      • 1970-01-01
      相关资源
      最近更新 更多