//防止多次重复点击 (函数节流) export function throttle(fn, gapTime) { if (gapTime == null || gapTime == undefined) { gapTime = 1500; } let _lastTime = null; return function() { let _nowTime = new Date(); if (_nowTime - _lastTime > gapTime || !_lastTime) { fn.apply(this, arguments); //将this和参数传给原函数 _lastTime = _nowTime; } }; } export function debounce(fn, delay) { let timeout = null; return function () { clearTimeout(timeout); timeout = setTimeout(() => { fn.apply(this, arguments); }, delay); }; } // 判断时间 刚刚 五分钟以内 十分钟以内 正常时间年月日 export function dealFileTime(time) { let result = ""; let argumentsTime = new Date(time.replace(/\-/g, "/")).getTime(); let nowTime = new Date().getTime(); let diffValue = nowTime - argumentsTime; let minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示 let hour = minute * 60; let day = hour * 24; let week = day * 7; let halfamonth = day * 15; let month = day * 30; if (diffValue < 0) { return; } let minC = diffValue / minute; //计算时间差的分,时,天,周,月 let hourC = diffValue / hour; let dayC = diffValue / day; let weekC = diffValue / week; let monthC = diffValue / month; if (monthC >= 1 && monthC <= 3) { result = " " + parseInt(monthC) + "月前"; } else if (weekC >= 1 && weekC <= 3) { result = " " + parseInt(weekC) + "周前"; } else if (dayC >= 1 && dayC <= 6) { result = " " + parseInt(dayC) + "天前"; } else if (hourC >= 1 && hourC <= 23) { result = " " + parseInt(hourC) + "小时前"; } else if (minC >= 1 && minC <= 59) { result = " " + parseInt(minC) + "分钟前"; } else if (diffValue >= 0 && diffValue <= minute) { result = "刚刚"; } else { let datetime = new Date(); datetime.setTime(time); let Nyear = datetime.getFullYear(); let Nmonth = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1; let Ndate = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate(); let Nhour = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours(); let Nminute = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes(); let Nsecond = datetime.getSeconds() < 10 ? "0" + datetime.getSeconds() : datetime.getSeconds(); result = Nyear + "-" + Nmonth + "-" + Ndate; } return result; } /* 返回时间补0 time 时间 format 格式 yyyyMMdd HH:mm:ss, yyyyMMdd, HH:mm:ss Symbol 分隔符号 */ export function getFormatDate(time, format, symbol) { format = format ? format : "yyyyMMdd HH:mm:ss"; symbol = symbol ? symbol : ""; let year = time.getFullYear(); let month = time.getMonth() < 9 ? "0" + (time.getMonth() + 1) : time.getMonth() + 1; let day = time.getDate() < 10 ? "0" + time.getDate() : time.getDate(); let hour = time.getHours() < 10 ? "0" + time.getHours() : time.getHours(); let minutes = time.getMinutes() < 10 ? "0" + time.getMinutes() : time.getMinutes(); let seconds = time.getSeconds() < 10 ? "0" + time.getSeconds() : time.getSeconds(); if (format === "yyyyMMdd HH:mm:ss") { return symbol ? `${year}${symbol}${month}${symbol}${day} ${hour}:${minutes}:${seconds}` : `${year}/${month}/${day} ${hour}:${minutes}:${seconds}`; } else if (format === "yyyyMMdd") { return symbol ? `${year}${symbol}${month}${symbol}${day}` : `${year}/${month}/${day}`; } else if (format === "HH:mm:ss") { return `${hour}:${minutes}:${seconds}`; } } // 返回每个月的第一天 export function getCurrentMonthFirst(date) { date.setDate(1); var month = parseInt(date.getMonth() + 1); var day = date.getDate(); if (month < 10) { month = "0" + month; } if (day < 10) { day = "0" + day; } return date.getFullYear() + "-" + month + "-" + day; } // 返回每个月的最后一天 export function getCurrentMonthLast(date) { var currentMonth = date.getMonth(); var nextMonth = ++currentMonth; var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1); var oneDay = 1000 * 60 * 60 * 24; var lastTime = new Date(nextMonthFirstDay - oneDay); var month = parseInt(lastTime.getMonth() + 1); var day = lastTime.getDate(); if (month < 10) { month = "0" + month; } if (day < 10) { day = "0" + day; } return date.getFullYear() + "-" + month + "-" + day; }