我正在尝试使用momentjs以下面的方式将系统日期转换为ISO格式
2015-02-17T19:05:00.000Z
然而,我无法找到我需要使用的参数来获取我想要的格式.我尝试下面的代码..
moment().format("YYYY-MM-DD HH:mm Z");
我输出为2015-02-02 17:24 05:30.
我怎么能得到2015-02-02T17:24:00.000Z
解决方法
这在
docs中已经很好地介绍了.但是,它们很长,所以这里的具体内容如下:
由于某种原因,momentjs对ISO 8601的定义与ECMAScript不同,因此它不是内置的.格式为YYYY-MM-DDTHH:mm:ss.sssZ,它必须是UTC(Z表示这个).
因此,moment().utc()
确保时区正确.
那么format它:
moment().utc().format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"); // 2015-02-02T21:38:04.092Z
Z是escaped with square brackets.我们可以安全地执行此操作,因为我们强制使用UTC.
根据format table,其余字符表示各种时间元素.
你也可以做RobG所说的并使用原生日期对象.如果你刚开始:
moment().toDate().toISOString( ) // 2015-02-02T21:40:06.395Z