js获取昨天,最近7天,最近30天通用方法
1 function formatDate (val) { 2 // 格式化时间 3 let start = new Date(val) 4 let y = start.getFullYear() 5 let m = (start.getMonth() + 1) > 10 ? (start.getMonth() + 1) : '0' + (start.getMonth() + 1) 6 let d = start.getDate() > 10 ? start.getDate() : '0' + start.getDate() 7 return y + '-' + m + '-' + d 8 } 9 10 function mistiming (sDate1, sDate2) { 11 // 计算开始和结束的时间差 12 let aDate, oDate1, oDate2, iDays 13 aDate = sDate1.split('-') 14 oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) 15 aDate = sDate2.split('-') 16 oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) 17 iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) 18 return iDays + 1 19 } 20 21 function countDate (start, end) { 22 // 判断开始和结束之间的时间差是否在90天内 23 let days = mistiming(start, end) 24 let stateT = days > 90 ? Boolean(0) : Boolean(1) 25 return { 26 state: stateT, 27 day: days 28 } 29 }46 47 function timeForMat (count) { 48 // 拼接时间 49 let time1 = new Date() 50 time1.setTime(time1.getTime() - (24 * 60 * 60 * 1000)) 51 let Y1 = time1.getFullYear() 52 let M1 = ((time1.getMonth() + 1) > 10 ? (time1.getMonth() + 1) : '0' + (time1.getMonth() + 1)) 53 let D1 = (time1.getDate() > 10 ? time1.getDate() : '0' + time1.getDate()) 54 let timer1 = Y1 + '-' + M1 + '-' + D1 // 当前时间 55 let time2 = new Date() 56 time2.setTime(time2.getTime() - (24 * 60 * 60 * 1000 * count)) 57 let Y2 = time2.getFullYear() 58 let M2 = ((time2.getMonth() + 1) > 10 ? (time2.getMonth() + 1) : '0' + (time2.getMonth() + 1)) 59 let D2 = (time2.getDate() > 10 ? time2.getDate() : '0' + time2.getDate()) 60 let timer2 = Y2 + '-' + M2 + '-' + D2 // 之前的7天或者30天 61 return { 62 t1: timer1, 63 t2: timer2 64 } 65 } 66 67 function yesterday (start, end) { 68 // 校验是不是选择的昨天 69 let timer = timeForMat(1) 70 return timer 71 } 72 73 function sevenDays () { 74 // 获取最近7天 75 let timer = timeForMat(7) 76 return timer 77 } 78 79 function thirtyDays () { 80 // 获取最近30天 81 let timer = timeForMat(30) 82 return timer 83 } 84 85 export { 86 formatDate, 87 countDate,89 yesterday, 90 sevenDays, 91 thirtyDays 92 }