【小程序】使用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-09T18:23:27.000+0800
var date = '2019-08-09T18:23:27.000+0800'; var data = date.substr(0, 19); //'2019-08-09T18:23:27' var newDate = new Date(data.replace(/T/g, ' ').replace(/-/g, '/'));
四、终极处理时间插件 moment.js
作者:smile.轉角
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
欢迎关注我,一起进步!扫描下方二维码即可加我QQ