@leevan/jtui
Version:
jt Components
54 lines (50 loc) • 1.8 kB
JavaScript
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,
}