使用moment.js从字符串中的日期获取ISO 8601日期



我有一个以字符串形式存储的日期,格式为"DD/MM/YYYY HH:mm"。有没有办法将其解析为ISO8601格式?我见过类似moment(string).format()moment().toISOString()的东西,但它们返回Invalide datenull

Moment.js包含一个格式选项,允许您通过moment(time, format)指定自定义格式。假设您使用的是24小时格式,那么您只需使用moment(time, "DD/MM/YYYY HH:mm").toISOString()即可。

请注意,这将把输入字符串解释为您的时区,并返回UTC格式的ISO字符串如果您希望输入字符串也被解释为UTC,那么您可以使用moment.utc(time, "DD/MM/YYYY HH:mm").toISOString()

例如,我当前处于EDT时区(UTC-4(。在这里您可以看到momentmoment.utc之间的区别。

> moment("05/09/2011 07:28", "DD/MM/YYYY HH:mm").toISOString()
'2011-09-05T11:28:00.000Z'
> moment.utc("05/09/2011 07:28", "DD/MM/YYYY HH:mm").toISOString()
'2011-09-05T07:28:00.000Z'

最新更新