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

官方文档

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容