小程序在iOS端,时间显示NaN的根本原因
  VJpXGY9Pywpe 2023年11月02日 55 0


现象:在微信开发工具测试时间显示正常、真机测试时间显示正常。安卓手机测试时间显示正常、开发工具连接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浏览器转化为时间戳效果如图:

小程序在iOS端,时间显示NaN的根本原因_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。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  bIizQVVwIKiD   2023年11月02日   51   0   0 递推#defineiOSgit
VJpXGY9Pywpe
最新推荐 更多