• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
华花郎
博客园    首页    新随笔    联系   管理    订阅  订阅

Moment format踩过的坑

背景

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

遇到的坑

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

详解

moment(local)

默认时间格式defaultFormat为YYYY-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时间格式defaultFormatUtc为YYYY-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

官方文档

posted @ 2021-08-24 16:50  华花郎  阅读(705)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3