Angular中使用Moment.js生成指定ISO时间格式的问题
解决Angular中Moment.js日期格式化问题
你的问题出在三个细节上:
- 格式字符串里的
sss是三位毫秒值,而目标格式仅需两位秒数,应替换为ss - 未强制切换到UTC时区,导致输出了本地时区偏移(如
+05:30)而非UTC标识Z - Moment.js中大写
Z默认输出时区偏移格式,要输出纯字符Z需要用方括号转义
正确代码实现
moment(utctime).utc().format('YYYYMMDDTHHmmss[Z]')
代码说明
.utc():将moment对象切换为UTC时区,确保时间值为UTC标准时间[Z]:通过方括号转义字符,让Moment.js直接输出大写Z而非时区偏移ss:仅保留两位秒数,避免多余的毫秒位
如果你的utctime本身就是UTC格式的字符串,也可以直接创建UTC对象,效果一致:
moment.utc(utctime).format('YYYYMMDDTHHmmss[Z]')
内容的提问来源于stack exchange,提问作者user3653474
相关产品推荐
相关产品推荐

