我正在试图使用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?
我正在试图使用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?
这在文档中已经很详细地介绍了。但是由于文档篇幅较长,以下是具体内容:
不知何故,moment.js对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
是通过使用方括号进行转义的。我们可以安全地这样做,因为我们强制使用UTC。
其余字符根据格式表表示各种时间元素。
你也可以像RobG所说的那样使用本地日期对象。如果您从moment开始:
moment().toDate().toISOString( )
// 2015-02-02T21:40:06.395Z
YYYY-MM-DDTHH:mm:ss.SSS[Z]
: - Nagaraj Tantri