收藏
回答

小程序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, "/") ,

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

最后一次编辑于  09-19
回答关注问题邀请回答
收藏

5 个回答

  • Yunior
    Yunior
    09-19

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


    09-19
    赞同 2
    回复 1
    • Neal
      Neal
      09-19
      我也是这么认为,让后台直接给时间戳我,但是给了2019-09-19 06:41:15,这个时间跟当前创建时间不对等
      09-19
      回复
  • Neal
    Neal
    12-05

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

    12-05
    赞同
    回复
  • 。
    10-31

    楼主解决没


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

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

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



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