JS

js常用工具类utils封装

用于记录一些js常用工具类utils封装方法

Posted by wenfengSAT on March 22, 2018

js常用工具类utils封装


var utils = {
    formatString: 'yyyy-MM-dd HH:mm:ss',
    /**
     * 格式化时间
     * @param value
     * @returns {string}
     */
    formatTime: function (value) {
        var t = new Date(value), tf = function (i) {
            return (i < 10 ? '0' : '') + i;
        }
        return this.formatString.replace(/yyyy|yy|MM|dd|HH|mm|ss/g, function (a) {
            switch (a) {
                case 'yy':
                    return tf((t.getFullYear() + "").substr(2, 3));
                    break;
                case 'yyyy':
                    return tf(t.getFullYear());
                    break;
                case 'MM':
                    return tf(t.getMonth() + 1);
                    break;
                case 'mm':
                    return tf(t.getMinutes());
                    break;
                case 'dd':
                    return tf(t.getDate());
                    break;
                case 'HH':
                    return tf(t.getHours());
                    break;
                case 'ss':
                    return tf(t.getSeconds());
                    break;
            }
        });
    },
    /**
     * 日期格式化
     *
     * @param {}
     *            time
     * @param {}
     *            format
     * @return {}
     */
    dateFormat: function (time, format) {
        var t = new Date(time), tf = function (i) {
            return (i < 10 ? '0' : '') + i;
        }
        return format.replace(/yyyy|yy|MM|dd|HH|mm|ss/g, function (a) {
            switch (a) {
                case 'yy':
                    return tf((t.getFullYear() + "").substr(2, 3));
                    break;
                case 'yyyy':
                    return tf(t.getFullYear());
                    break;
                case 'MM':
                    return tf(t.getMonth() + 1);
                    break;
                case 'mm':
                    return tf(t.getMinutes());
                    break;
                case 'dd':
                    return tf(t.getDate());
                    break;
                case 'HH':
                    return tf(t.getHours());
                    break;
                case 'ss':
                    return tf(t.getSeconds());
                    break;
            }
        });
    },
    
    /**
     * 文件大小格式化
     * @param value
     * @returns {String}
     */
    byteSizeFormat: function (value) {
    	var kb = value/1024;
    	var mb = kb/1024;
    	var gb = kb/1000;
    	if(kb<1000){
    		return kb.toFixed(1)+"K";
    	}else if(mb<1000){
    		return mb.toFixed(1)+"M";
    	}else{
    		return gb.toFixed(1)+"G";
    	}
    },
	
	
	/**
     * 格式化时间,计算距离今天的时间间隔
     * @param time
     * @returns
     */
    timeFormat:function (time){
    	var old = new Date(time);
    	var now = new Date();
    	var syear = now.getFullYear() - old.getFullYear();
    	var smonth = now.getMonth() - old.getMonth();
    	var sday = now.getDate() - old.getDate();
    	var shour = now.getHours() - old.getHours();
    	var smin = now.getMinutes() - old.getMinutes();
    	if(now.getTime() < old.getTime()){
    		return formatTime(time);
        } else if(syear > 0){
            return syear + "年前";
        }else if(smonth > 0){
            return smonth + "个月前";
        }else if(sday > 0){
            return sday + "天前";
        }else if(shour > 0){
            return shour + "小时前";
        }else if(smin > 5){
            return smin + "分钟前";
        }else{
            return "刚刚";
        }
    }
}


------------------------>使用示例
/**
 * 格式化时间
 * @param val
 * @param row
 * @returns {*|string}
 */
function formatTime(val, row) {
    return utils.formatTime(val);
}


var cookie = {
         set:function(key,val,time){//设置cookie方法
             var date=new Date(); //获取当前时间
             var expiresDays=time;  //将date设置为n天以后的时间
             date.setTime(date.getTime()+expiresDays*24*3600*1000); //格式化为cookie识别的时间
             document.cookie=key + "=" + val +";expires="+date.toGMTString();  //设置cookie
         },
         get:function(key){//获取cookie方法
             /*获取cookie参数*/
             var getCookie = document.cookie.replace(/[ ]/g,"");  //获取cookie,并且将获得的cookie格式化,去掉空格字符
             var arrCookie = getCookie.split(";")  //将获得的cookie以"分号"为标识 将cookie保存到arrCookie的数组中
             var tips;  //声明变量tips
             for(var i=0;i<arrCookie.length;i++){   //使用for循环查找cookie中的tips变量
                 var arr=arrCookie[i].split("=");   //将单条cookie用"等号"为标识,将单条cookie保存为arr数组
                 if(key==arr[0]){  //匹配变量名称,其中arr[0]是指的cookie名称,如果该条变量为tips则执行判断语句中的赋值操作
                     tips=arr[1];   //将cookie的值赋给变量tips
                     break;   //终止for循环遍历
                 }
             }
             return tips;
         },
         delete:function(key){ //删除cookie方法
             var date = new Date(); //获取当前时间
             date.setTime(date.getTime()-10000); //将date设置为过去的时间
             document.cookie = key + "=v; expires =" +date.toGMTString();//设置cookie
         }
     }