js 计算时间差,相差分钟数之ios和安卓区别

let time1 = that.orderDTOS.gmtCreate;

let time2 = timeFormatter(new Date());

var begin1=time1.substr(0,10).split("-");

var end1=time2.substr(0,10).split("-");

var date1=new Date((begin1[1] + - + begin1[2] + - + begin1[0]).replace(/\-/g, '/'));

var date2=new Date((end1[1] + - + end1[2] + - + end1[0]).replace(/\-/g, '/'));

var m=parseInt(Math.abs(date2-date1)/1000/60);

var min1=parseInt(time1.substr(11,2))*60+parseInt(time1.substr(14,2));

var min2=parseInt(time2.substr(11,2))*60+parseInt(time2.substr(14,2));

var n=min2-min1;

var minutes=m+n;

//以上是计算两个日期之间相差分钟数,实现思路是,将时间格式转化为字符串格式,再重新组装为Date格式,具体转化代码

new Date((begin1[1] + - + begin1[2] + - + begin1[0])),此方法在安卓上有效,但是在ios上会得到 invalid value ,需要将拼接时间中的-替换为/,即(begin1[1] + - + begin1[2] + - + begin1[0]).repalce(/\-/g, '/')),此前在网上检索出来的是为转换的日期,这样ios下会报错,用replace替换一下就可以了。

你可能感兴趣的:(js,时间差)