UNPKG

@leevan/jtui

Version:
54 lines (50 loc) 1.8 kB
const scaleList=[1,5,10,30,60,5*60,15*60,30*60,60*60,2*60*60,3*60*60,6*60*60,12*60*60,24*60*60,5*24*60*60,10*24*60*60,15*24*60*60,30*24*60*60,2*30*24*60*60,3*30*24*60*60,182.5*24*60*60,365*24*60*60]; function getTimeJson (CreateChart,echartsWidth){ let startTime=changeTime(CreateChart.startTime);//开始时间 let endTime=changeTime(CreateChart.endTime); //结束时间 let timeInterval=CreateChart.timeInterval; //时间单位 let total=Math.floor((echartsWidth-120)/50);//容器容量 let scale="",temp=1,result={ interval:1, intervalTime:1 }; scale= (endTime-startTime)/(1000); //计算时间间隔秒数 // console.log(startTime,endTime,timeInterval,echartsWidth); if(timeInterval==="second"){ temp=1;//计算单位 }else if(timeInterval==="minute"){ temp=60;//计算单位 }else if(timeInterval==="hour"){ temp=60*60;//计算单位 }else if(timeInterval==="day"){ temp=60*60*24;//计算单位 }else if(timeInterval==="month"){ temp=60*60*24*30;//计算单位 }else if(timeInterval==="year"){ temp=60*60*24*365;//计算单位 } result.intervalTime=temp; result.interval=Math.floor(scaleList[scaleList.length-1]/temp); for (const i of scaleList) { if(scale/total<i&&i>=temp){ result.interval=i/temp; if(timeInterval==="month"||timeInterval==="year") result.interval=Math.floor(i/temp) break; } } // console.log(scale,total,scale/total,result,scaleList,temp); return result } function changeTime (time) { let timeArr = time.split(" "); let time1 = timeArr[0].split("-"); let time2 = timeArr[1].split(":"); let timeAry = time1.concat(time2); timeAry[1] = Number(timeAry[1]) - 1; let msgTime = new Date(...timeAry).getTime(); return msgTime } export { getTimeJson, }