Moment format踩过的坑


背景

项目应用的地方存在夏令时,这就要求程序中存储和使用的时间格式为UTC,所以在调用接口时存在将本地时间转成UTC时间格式以及获取接口数据后将UTC时间转换成本地时间显示的两个动作。

遇到的坑

moment格式化分为local和utc两种,分别对应defaultFormatdefaultFormatUtc,需要注意moment转成utc后再使用format,就会使用defaultFormatUtc对应的格式。

详解

moment(local)

默认时间格式defaultFormatYYYY-MM-DDTHH:mm:ssZ,所以

moment('2020-08-24 08:00:00').format(); 	//2020-08-24T08:00:00+08:00

moment(local)自定义defaultFormat

通过moment.defaultFormat='YYYY-MM-DD HH:mm:ss'设置默认格式为'YYYY-MM-DD HH:mm:ss',所以

moment('2020-08-24 08:00:00').format(); 	//2020-08-24 08:00:00

moment(utc)

默认UTC时间格式defaultFormatUtcYYYY-MM-DDTHH:mm:ss[Z],所以

moment('2020-08-24 08:00:00').utc().format();	//2020-08-24T00:00:00Z

moment(utc)自定义defaultFormatUtc

通过moment.defaultFormatUtc='YYYY-MM-DDTHH:mm:ss.SSS[Z]'设置默认格式为'YYYY-MM-DDTHH:mm:ss.SSS[Z]',所以

moment('2020-08-24 08:00:00').utc().format(); 	//2020-08-24T00:00:00.000Z

官方文档


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM