js中安卓、ios时间格式转换的不兼容 - Go语言中文社区

js中安卓、ios时间格式转换的不兼容


一、原理说明:

最近,小程序中线上出来一个bug,我检查了代码感觉没问题,最后一查原理安卓和ios关于时间这块有这么个坑:

Android如下:

Date.parse(new Date('2020-06-11 08:00:00'))

ios如下:

Date.parse(new Date('2020/06/11 08:00:00'))

核心:安卓使用“-”连接时间,ios使用“/”连接时间。

二、解决:

在安卓机里面我都能正常显示,苹果的也能显示,只是颜色并不是根据我的要求显示的。在处理其他逻辑的时候失效,不兼容暴露出来。

最初代码:

let pastTamp = obj.gwlastTime,currentTamp = new Date().getTime();
pastTamp = new Date(pastTamp).getTime();
if ((currentTamp - pastTamp) / 1000 / 60 > 7) {
		aa = 1;
	} else {
		aa = 0;
}

更改后代码:

//获取手机的型号
getphonesystem() {
	let _this = this;
	uni.getSystemInfo({
    success: function(res) {
	    _this.phoneSystem = res.system
	}
	});
}



let pastTamp = obj.gwlastTime,currentTamp = new Date().getTime();
//调用判断型号的方法
if (_this.phoneSystem.indexOf("iOS") != -1) {
    //如果是ios,获取字符串中所有的“-”,并替换成“/”
	pastTamp = pastTamp.replace(/-/g, '/');
}
pastTamp = new Date(pastTamp).getTime();
if ((currentTamp - pastTamp) / 1000 / 60 > 7) {
	aa = 1;
} else {
	aa = 0;
}

 

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/XU441520/article/details/106682198
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 00:19:24
  • 阅读 ( 987 )
  • 分类:前端

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢