收藏
回答

小程序中如何健壮的处理各种时间格式?

后端返回的时间格式一般认为是比较固定的,但是随着后端微服务越来越普遍,并且中台战略崛起,各个公司供应商,甚至是公司内部bu之间,各个接口返回的时间格式是不完全统一的。常见的比如,时间戳,已经格式化好的时间字符串,数据库直接存取的date类型等。怎么样才能完全的统一处理好各种格式呢?包括但不限于以下几种(有些格式在iso上不支持,具体的支持格式找不到资料):

1584677760433
2020-03-20T12:16:00.433+0800
2020-03-20T04:16:00.433Z
2020-03-20 04:16:00
2020/03/20 04:16:00
2020.03.20 04:16:00

还有其他格式的,欢迎补充和提供方案,也欢迎了解moment或者其他类库的大神讲解下处理方法

回答关注问题邀请回答
收藏

2 个回答

  • 老张
    老张
    03-20

    大家统一成绝对时间是比较靠谱的方法。

    03-20
    赞同
    回复
  • G-STEPS街舞工作室
    G-STEPS街舞工作室
    03-20

    直接将字符串传给 moment ,他会帮你处理成日期moment对象,然后再转成你需要的格式就行。

    http://momentjs.cn/ 有个中文版的文档,里边的方法很多,调用一下就好

    let resData = '2020-03-20 04:16:00'; // 后端返回的日期
    let mom = moment(resData)
    let time= mom.format('M月D日 H:mm'); // 返回 3月20日 4:16
    
    03-20
    赞同
    回复 3
    • 牛剑南
      牛剑南
      03-20
      moment对于小程序来说,体量太大了,我其实更想知道类库是靠什么来解决兼容问题的
      03-20
      回复
    • G-STEPS街舞工作室
      G-STEPS街舞工作室
      03-20回复牛剑南
      嗷,那直接看看moment代码比较方便
      03-20
      回复
    • G-STEPS街舞工作室
      G-STEPS街舞工作室
      03-20回复牛剑南
      体量太大是指打包后小程序的体积太大了吗?我小程序在用,感觉还行,没有占多少,哈哈哈哈
      03-20
      回复
登录 后发表内容
问题标签