0
我有以下代码瞬间返回无效的数据,即使日期是正确的
var value = 1504528441;
var utcDateTime = moment.utc(value, "YYYY-MM-DD HH:mm:ss")
,我也得到Invalid date
。
我试图转换这个数字在https://www.epochconverter.com/,它似乎转换得很好。
我不明白什么是时刻的问题。
我有以下代码瞬间返回无效的数据,即使日期是正确的
var value = 1504528441;
var utcDateTime = moment.utc(value, "YYYY-MM-DD HH:mm:ss")
,我也得到Invalid date
。
我试图转换这个数字在https://www.epochconverter.com/,它似乎转换得很好。
我不明白什么是时刻的问题。
您正在使用错误的方法,并在解析输入和显示时刻对象值之间混淆。
没有moment.utc(Number, String)
和moment.utc(Number)
创建一个时刻对象治疗Number
输入参数作为毫秒自Unix纪元(1970年1月1日上午12时UTC)。
你必须使用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>