即使日期正确,时刻也会返回无效数据

时间:2017-09-04 12:39:31

标签: momentjs

我有以下代码

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

我得到Invalid date

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

我不明白时刻有什么问题。

1 个答案:

答案 0 :(得分:1)

您正在使用错误的方法并在解析输入和显示时刻对象值之间混淆。

自Unix Epoch(1970年1月1日12 AM 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>