uni-app 时间格式问题 new Date(str) IOS系统跟Android系统不兼容

今天做了一个需求,要在列表中把后台返回来的时间给显示出来,使用 new Date(str)  在微信开发者工具上显示是没有问题的,然后在IOS系统上显示是NAN。

原因是 IOS系统只识别 " / " 不识别 " - ". 

后台返回来的时间类型一般有三种 时间、时间搓、字符串。我们就研究一下这三种类型怎么 处理才能兼容安卓系统和IOS系统吧。

formatTime(d) {
  var year = d.getFullYear();
  var month = d.getMonth() + 1;
  var date = d.getDate();
  var hour = d.getHours();
  var minute = d.getMinutes();
  var second = d.getSeconds();
  return year + "/" + (D[month] || month) + "/" + (D[date] || date) + " " + (D[hour] || hour) + ":" + (D[minute] || minute) + ":" + (D[second] || second);//必须是‘/’格式
}

 

一、字符串类型  2019-8-14 10:03:45  

var date = "2019-8-14 10:03:45"

//不兼容代码
var newDate = new Date(date);

//解决
var newDate = new Date(date.replace(/-/g,‘/‘));


 

二、时间戳类型  1565776169000 (毫秒)  最后显示  2019/08/14 17:49:29

var date = 1565776169000; //必须是数值类型,必须是13位数
var newDate = new Date(date);
var newDateTime = dateFormater.formatTime(newDate) // 2019/08/14 17:49:29

 

三、时间类型 2019-08-05T14:19:26.000+0800

相关文章

文章浏览阅读52次。1.0.0版本 只需修改API接口即可 接口位置...
文章浏览阅读820次。在uni-app和vue3中,我们可以封装全局函...
文章浏览阅读671次,点赞22次,收藏6次。整理在Uniapp应用开...
文章浏览阅读122次。【代码】Uniapp Vue3 父组件给子组件传值...
文章浏览阅读765次。包括数据绑定和计算属性、条件渲染和列表...
文章浏览阅读129次。Uniapp 底部导航栏 自定义 tabBar 全端 ...