Android系统和ios系统还是有区别的,做页面的时候经常需要“二者得兼”,所以就要进行判断了。下面是对不同的系统显示不同的时间方式,当然Android用哪种方式都行,只是ios用‘-’格式分开时间就是不可以,直接显示NaN了。
<script>
function fmtDate(obj){
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid)
{
var date = new Date(obj);
var y = 1900+date.getYear();
var m = "0"+(date.getMonth()+1);
var d = "0"+date.getDate();
var h = date.getHours();
var i = date.getMinutes();
var s = date.getSeconds();
return y+"-"+m.substring(m.length-2,m.length)+"-"+d.substring(d.length-2,d.length)+'<br/>'+h+":"+i+":"+s;
}else
{
var reg = /^\s*(\d+)\D+(\d+)\D+(\d+)\D*((\d+)\D+)?((\d+)\D+)?((\d+)\D*)?\s*$/;
var objs = obj.replace(/[\r\n\f\t\x20]/g, ""); //用正则把所有的小横杠“-”去掉
var y = objs.replace(reg, "$1");
var m = objs.replace(reg, "$2");
var d = objs.replace(reg, "$3");
var h = objs.replace(reg, "$5");
var mm = objs.replace(reg, "$7");
var s = obj.replace(reg, "$9");
return y + "/" + m + "/" + d + ":" + h + ":" + m;//ios系统支持“/”方式,所以换成这个格式显示时间
}
}
</script>
其实这个方法并不好,可以直接兼容的如下:
function GetDateChange(obj) {
//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式
var Time = obj.replace(/\-/g, "/");
return Time;
};
function fmtDate(obj){
var fmt = GetDateChange(obj);
//console.log(fmt);
var date = new Date(fmt);
var y = 1900+date.getYear();
var m = "0"+(date.getMonth()+1);
var d = "0"+date.getDate();
var h = date.getHours();
var i = date.getMinutes();
var s = date.getSeconds();
return y+"-"+m.substring(m.length-2,m.length)+"-"+d.substring(d.length-2,d.length)+'<br/>'+h+":"+i+":"+s;
}