使用 momentjs 将系统日期转换为 ISO 格式

Convert system date to ISO format using momentjs

我正在尝试使用 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

Zescaped with square brackets。我们可以安全地执行此操作,因为我们强制使用 UTC。

其余字符根据format table.

表示各种时间要素

您也可以像 RobG 所说的那样使用本机日期对象。如果您刚开始:

moment().toDate().toISOString( )
// 2015-02-02T21:40:06.395Z