收藏
回答

ios下string时间转date错误

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug new Date 客户端 6.5.3 2.0.0



yyyy-mm-ddThh:MM:ss这种时间传递到小程序的时间,new date后为空,在ios真机上有此问题

最后一次编辑于  2018-10-29  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 是柿子啊
    是柿子啊
    2018-10-29

    将-替换为/试试?

    2018-10-29
    赞同
    回复 9
    • helen.min
      helen.min
      2018-10-29

      替换了,没有用

      2018-10-29
      回复
    • 是柿子啊
      是柿子啊
      2018-10-29回复helen.min

      提供下代码片段:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2018-10-29
      回复
    • helen.min
      helen.min
      2018-10-29回复是柿子啊


      就是这样的,在模拟器上没有问题,在iphone上反应都是有这个问题,然后我在我手上的iphone8上试了打印的上面的日志

      2018-10-29
      2
      回复
    • helen.min
      helen.min
      2018-10-29回复是柿子啊
      const formatDateByLong = function (date) {
      console.log("需要替换的时间:"+date);
      var mydate = date.replace(/-/g, '/');
      console.log("替换后的时间:"+ mydate);
      var da = new Date(mydate);
      console.log("new Date后的时间", da);
      const year = da.getFullYear()
      const month = da.getMonth() + 1
       const day = da.getDate()

      return [year, month, day].map(formatNumber).join('-');
      }


      传递的值:2018-10-19T03:03:40.000+0000

      2018-10-29
      回复
    • 是柿子啊
      是柿子啊
      2018-10-29回复helen.min

      按照教程提供:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2018-10-29
      回复
    查看更多(4)
  • =_=
    =_=
    2018-11-04

    是的.我也碰到了这个问题.

    new Date()如果带上string参数指定时间的话.就有问题.

    现在只在IOS真机上会这样.

    android的则正常

    2018-11-04
    赞同
    回复 3
    • helen.min
      helen.min
      2018-11-04

      是的,官网还没给出解决方法,所以,现在我的解决方式是时间数据在后台全部转换成显示的字符串

      2018-11-04
      回复
    • =_=
      =_=
      2018-11-04回复helen.min

      我的解决办法是.

      new Date(y,M,d,h,m,s)

      分别定义开,就没有这个BUG了

      2018-11-04
      回复
    • helen.min
      helen.min
      2018-11-08回复=_=

      有的时间是需要加8个小时的,所以我就没有用这种

      2018-11-08
      回复
  • Fstar 、🎶
    Fstar 、🎶
    2018-12-03

    在iOS下我也遇到了同样的情况

    new Date('2018-12-3 16:16:16'); null

    new Date('2018/12/3 16:16:16'); 可以正常输出

    new Date('December 12,2018 16:16:16') 可以正常输出

    new Date(2018, 12, 3, 16, 16, 16) 可以正常输出

    2018-12-03
    赞同
    回复