我有一个以字符串形式存储的日期,格式为"DD/MM/YYYY HH:mm"
。有没有办法将其解析为ISO8601格式?我见过类似moment(string).format()
和moment().toISOString()
的东西,但它们返回Invalide date
和null
。
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(。在这里您可以看到moment
和moment.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'