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

Convert system date to ISO format using momentjs

本文关键字:ISO 格式 转换 日期 momentjs 系统 使用      更新时间:2023-09-26

我正在尝试使用 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 8601 的定义与 ECMAScript 的定义不同,所以它不是内置的。格式YYYY-MM-DDTHH:mm:ss.sssZ,并且必须采用 UTC(Z表示这一点)。

因此,moment().utc()确保时区正确。

然后格式化它:

moment().utc().format("YYYY-MM-DDTHH:mm:ss.SSS[Z]");
// 2015-02-02T21:38:04.092Z

Z用方括号进行转义。我们可以安全地做到这一点,因为我们强制了UTC。

其余字符根据格式表表示各种时间元素。


您也可以按照 RobG 所说的操作并使用本机日期对象。如果您从片刻开始:

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