小程序在iOS端,时间显示NaN的根本原因

现象:在微信开发工具测试时间显示正常、真机测试时间显示正常。安卓手机测试时间显示正常、开发工具连接iOS手机测试时间显示正常。

体验版中,iOS手机测试时间显示NaN。

原因:当进行网络请求的时候,后端返回日期格式:“2018-05-03”。iOS手机或者浏览器不支持这种类型的日期格式。
例如:

      console.log("2019-10-09 19:42:46")
      console.log(Date.parse("2019-10-09 19:42:46"))
      console.log(Date.parse("2019-10-09 19:42:46".replace(/-/g,'/')))

ios浏览器转化为时间戳效果如图:
在这里插入图片描述

需要转换日期格式:

   const  time = "2018-05-03"
   time.replace(/\-/g, "/");
   console.log(time);         2019/05/03
   
   
  // 在小程序的工具文件util.js中进行封装
  function formatTime(date) {
      var time = date==null?"": Date.parse(date.replace(/-/g, '/'));
      var date = new Date(time);
      var year = date.getFullYear();
      var month = date.getMonth() + 1;
      var day = date.getDate();
      var hour = date.getHours();
      var minute = date.getMinutes();
      var second = date.getSeconds();
      return [year, month, day].map(formatNumber).join('/');
    }

这里为什么将日期转化为时间戳?

因为后端返回的只有日期,如果直接将日期转换为格式:“2019/05/03”,在iOS端时间还是显示NaN。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

读心悦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值