这个文档提到moment.ISO_8601
作为格式化选项(从 2.7.0 -http://momentjs.com/docs/#/parsing/special-formats/ http://momentjs.com/docs/#/parsing/special-formats/),但这些都不起作用(甚至 2.7.0):
var date = moment();
date.format(moment.ISO_8601); // error
moment.format(date, moment.ISO_8601); // error
(http://jsfiddle.net/b3d6uy05/1/ http://jsfiddle.net/b3d6uy05/1/)
如何从 moment.js 获取 ISO 8601?
moment().toISOString(); // or format() - see below
http://momentjs.com/docs/#/displaying/as-iso-string/ http://momentjs.com/docs/#/displaying/as-iso-string/
Update基于答案:@sennet 和@dvlsg 的评论(请参阅Fiddle http://jsfiddle.net/8gvhL1dz/22/)应该注意的是,两者之间是有区别的format
and toISOString
。两者都是正确的,但基本过程不同。toISOString
转换为 Date 对象,设置为 UTC,然后使用本机 Date 原型函数以 UTC 格式输出 ISO8601 毫秒(YYYY-MM-DD[T]HH:mm:ss.SSS[Z]
)。另一方面,format
使用默认格式(YYYY-MM-DDTHH:mm:ssZ
)没有毫秒并保持时区偏移。
我已经开了一个issue https://github.com/moment/moment/issues/2821因为我认为这会带来意想不到的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)