index_20190429094602.js 3.51 KB
Newer Older
.  
baiguangyao committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

//数组去重
export const unique = (array) => {
    var n = []; //一个新的临时数组 
    //遍历当前数组 
    for (var i = 0; i < array.length; i++) {
        //如果当前数组的第i已经保存进了临时数组,那么跳过, 
        //否则把当前项push到临时数组里面
        if (n.indexOf(array[i]) === -1) n.push(array[i]);
    }
    return n;
}


export const formatTime = (date) => {
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()
    return [year, month, day].join('-')
}
export const formatDate = (now, fmt) => {
    var now = new Date(now);
    var fmt = fmt ? fmt : 'yyyy-MM-dd hh:mm:ss';
    var o = {
        "M+": now.getMonth() + 1,                 //月份 
        "d+": now.getDate(),                    //日 
        "h+": now.getHours(),                   //小时 
        "m+": now.getMinutes(),                 //分 
        "s+": now.getSeconds(),                 //秒 
        "q+": Math.floor((now.getMonth() + 3) / 3), //季度 
        "S": now.getMilliseconds()             //毫秒 
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (now.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        }
    }
    return fmt;
}

// 计算时间相差fn(过去距离当前时间)
export const computingTime = (pastTime) => {
    var currentTime = (new Date()).getTime(),
        distanceTime = currentTime - pastTime,
        // 计算相差天数
        days = Math.floor(distanceTime / (24 * 3600 * 1000)),
        // 计算相差小时数
        leave1 = distanceTime % (24 * 3600 * 1000),
        hours = Math.floor(leave1 / (3600 * 1000)),
        // 计算相差分钟数
        leave2 = leave1 % (3600 * 1000),
        minutes = Math.floor(leave2 / (60 * 1000)),
        // 计算相差毫秒数
        leave3 = leave2 % (60 * 1000),
        seconds = Math.round(leave3 / 1000),
        // 处理返回格式
        dayStr = days <= 0 ? "" : days + "天",
        hourStr = hours <= 0 ? "" : hours + "小时",
        minuteStr = minutes <= 0 ? "" : minutes + "分钟",
        secondStr = (days <= 0 && hours <= 0 && minutes <= 0) ? "刚刚" : "前";
    // secondStr=seconds==0?"":seconds+"秒";
    if (days >= 1) {
        return dayStr + '前';
    } else {
        return dayStr + hourStr + minuteStr + secondStr;
    }
}
// 时间倒计时 (未来距离现在)
export const timeDown = (endDate) => {
    var now = new Date();
    var leftTime = endDate - now.getTime();
    var leftsecond = parseInt(leftTime / 1000);
    var day1 = Math.floor(leftsecond / (60 * 60 * 24));
    var hour = Math.floor((leftsecond - day1 * 24 * 60 * 60) / 3600);
    var minute = Math.floor((leftsecond - day1 * 24 * 60 * 60 - hour * 3600) / 60);
    var second = Math.floor(leftsecond - day1 * 24 * 60 * 60 - hour * 3600 - minute * 60);
    hour = hour >= 10 ? hour : '0' + hour;
    minute = minute >= 10 ? minute : '0' + minute;
    second = second >= 10 ? second : '0' + second;
    return day1 + '天' + hour + ':' + minute + ':' + second;
    return leftTime;
}

// 去除字符串首尾空格
export const strTrim = (s) => {
    return s.replace(/(^\s*)|(\s*$)/g, "");
}

export const isPhone = ($poneInput) => {
    var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
    if (!myreg.test($poneInput)) {
        return true;
    } else {
        return false;
    }
}