博客文章已转移到新地址,本地址暂时保留,新文章仅在新地址更新。[置顶]

javascript函数判断操作系统并处理时间格式兼容iPhone手机

作者:小宝 2017-12-03 19:12:25

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;          
        }

©BRISKLAN;备案信息:桂ICP备16004757号-1