收藏
回答

小程序ios上时间为NaN

后台提供的时间格式是:2019-09-19T01:18:13.000+0000,我这边转换的格式代码为:

const formatDate = (date) =>{

var time = new Date(date);

var y,m,d,h,min,s;

y = time.getFullYear();

m = formatNumber(time.getMonth()+1);

d = formatNumber(time.getDate());

h = formatNumber(time.getHours());

min = formatNumber(time.getMinutes());

s = formatNumber(time.getSeconds());

return `${y}/${m}/${d} ${h}:${min}:${s}`

}

function formatNumber(n){

var time = n.toString()

return time < 10 ? "0"+n : n

}

网上说是替换 '-' 为 '/', date.replace(/\-/g, "/") ,

但是试过之后都没有用,请各位看看是否能帮解决一下

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

5 个回答

  • Yunior
    Yunior
    2019-09-19

    解析日期还是建议后台统一使用Unix时间戳,这样不会存在平台差异。


    2019-09-19
    有用 3
    回复 2
    • Neal
      Neal
      2019-09-19
      我也是这么认为,让后台直接给时间戳我,但是给了2019-09-19 06:41:15,这个时间跟当前创建时间不对等
      2019-09-19
      回复
    • Mi
      Mi
      2021-09-16
      绝了真的,这个方法无敌
      2021-09-16
      回复
  • Neal
    Neal
    2019-12-05

    问题解决方案, 1:使用common.js进行转化,想知道原理可以去看源码,我也没看过,哈哈哈 2:后台给出的时间为 " 2019-09-19T01:18:13.000+0000",前端将时间转化为" 2019/09/19 01:18:13",然后再转化成时间戳+8个小时(中国标准时间跟美国时间相差8个时区,不要问我为什么,谁叫电脑是美国人发明的尼),接着再将时间戳转化为中国标准时间, 搞定!!!!!!

    2019-12-05
    有用
    回复
  • L
    L
    2019-10-31

    楼主解决没


    2019-10-31
    有用
    回复 11
    • Neal
      Neal
      2019-10-31
      没有,转换不了,要后台返回时间戳就行
      2019-10-31
      回复
    • L
      L
      2019-10-31回复Neal
      老哥,转换成啥样的啊, 能给个截图不
      2019-10-31
      回复
    • L
      L
      2019-10-31回复Neal
      放回啥样的啊 我瞅瞅
      2019-10-31
      回复
    • Neal
      Neal
      2019-10-31
      2019-10-31
      回复
    • L
      L
      2019-10-31回复Neal
      等会我贴代码 我好想 好使了
      2019-10-31
      回复
    查看更多(6)
  • 阡陌
    阡陌
    2019-09-19

    用正则匹配把 2019-09-19T01:18:13.000+0000 匹配成 2019/09/19 01:18:13.000+0000 再new Date()就好了

    2019-09-19
    有用
    回复 3
    • Neal
      Neal
      2019-09-19
      好的,我试试
      2019-09-19
      回复
    • 清风徐来
      清风徐来
      2019-09-20回复Neal
      这种方法可以吗
      2019-09-20
      回复
    • Neal
      Neal
      2019-09-25
      经过测试,这种方式也不行
      2019-09-25
      回复
  • 思男
    思男
    2019-09-19



    2019-09-19
    有用
    回复 3
    • Neal
      Neal
      2019-09-19
      你试一下在ios可不可以
      2019-09-19
      回复
    • 蘑菇🍄
      蘑菇🍄
      2019-09-19
      new Date('2019-09-19 06:41:15'.replace(/\.|\-/g, '/')); 试下这个 我是这么用的
      2019-09-19
      回复
    • 清风徐来
      清风徐来
      2019-09-20
      方法在iOS没用
      2019-09-20
      回复
登录 后发表内容
问题标签