Momentjs严格格式始终返回“无效日期”

时间:2017-10-17 15:14:20

标签: javascript momentjs

根据momentjs文档toJSON()生成ISO 8601格式的字符串,moment.defaultFormat是ISO 8601格式。

考虑到这一点,我希望得到一个有效的日期,但是

moment(moment().toJSON(), moment.defaultFormat, true).toString() 

始终返回'无效日期'。

1 个答案:

答案 0 :(得分:4)

您是对的,moment().toJSON()返回ISO 8601格式,但与moment.defaultFormat不同。

问题在于moment().toJSON()包含不属于SSS的小数秒(moment.defaultFormat令牌)(即YYYY-MM-DDTHH:mm:ssZ)。

可以解析

moment().toJSON()输出:

这是一个实时样本:



console.log( moment(moment().toJSON(), moment.defaultFormat, true).toString()  );

console.log( moment().toJSON() );
console.log( moment.defaultFormat );

console.log( moment(moment().toJSON(), 'YYYY-MM-DDTHH:mm:ss.SSSZ', true).toString()  );

console.log( moment(moment().toJSON(), moment.ISO_8601, true).toString()  );

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;
&#13;
&#13;