js代码:
function getfailurerate(start,end,ip) { $.ajax( { url : "report/getvirtual.action", type : "POST", data : { 'ip' : ip, 'startime' : start, 'endtime' : end, }, timeout : 180000, async : true, beforeSend: function(){ MaskUtil.mask(); var net = new Array(); var createtime = new Array(); var lnet = new Array(); var lnet_out = new Array(); var net_out = new Array(); var net_avg = new Array(); var cpu = new Array(); var mem = new Array(); vhostNet(net,net_out,lnet,lnet_out,net_avg,createtime); vhostCpu(cpu,createtime); vhostMem(mem,createtime); }, success : function(data) { MaskUtil.unmask(); var data = eval(data); if(data== null || data.length<1){ alert("暂无数据!"); } var net = new Array(); var createtime = new Array(); var lnet = new Array(); var lnet_out = new Array(); var net_out = new Array(); var net_avg = new Array(); var cpu = new Array(); var mem = new Array(); var sum = 0; var count = 0; //如果大于三个月 var smonth = start.substring(8,10); var emonth = end.substring(8,10); // if((emonth - smonth) > 3){ //如果大于多少条 var item = 1000;//条数 if(data.length > item){ var timestamp = parseInt(new Date().getTime()/1000); // start = start.substring(0,19);如果时间格式有问题时使用 // start = start.replace(/-/g,'/'); var s = new Date(data[0].createtime.substring(0, 16)).getTime(); sum = s; var e = new Date(data[data.length-1].createtime.substring(0, 16)).getTime(); //计算起止时间的平均值,用来每次添加数据后增长时间 count = parseInt((e-s)/item); for(var j = 0 ; j<data.length; j++){ // var sumdate = getTimeDate(sum + count); var sumdate = getTimeDate(sum);//不加count会多一条开始时间的数据 var ctime = data[j].createtime.substring(0, 16); var date1 = new Date(sumdate); var date2 = new Date(ctime); //如果所要时间小于数据时间或与数据时间相等,添加数据并增长所要时间 if(date1 < date2 || date1 - date2 == 0){ net.push(data[j].net); createtime.push(data[j].createtime); lnet.push(data[j].lnet); lnet_out.push(data[j].lnet_out); net_out.push(data[j].net_out); net_avg.push(data[j].net_avg); cpu.push(data[j].cpu); mem.push(data[j].memory); sum = sum + count; } } var sumdate = getTimeDate(sum); }else{ //如果不符合条件,走普通 for(var j = 0 ; j < data.length; j++){ net.push(data[j].net); createtime.push(data[j].createtime); lnet.push(data[j].lnet); lnet_out.push(data[j].lnet_out); net_out.push(data[j].net_out); net_avg.push(data[j].net_avg); cpu.push(data[j].cpu); mem.push(data[j].memory); } } vhostNet(net,net_out,lnet,lnet_out,net_avg,createtime); vhostCpu(cpu,createtime); vhostMem(mem,createtime); } }); } function getTimeDate(timedate) { // var s = new Date(d); // var sdate = (s.getFullYear()) + "-" + // (s.getMonth() + 1) + "-" + // (s.getDate()) + " " + // (s.getHours()) + ":" + // (s.getMinutes()) + ":" + // (s.getSeconds()); } function getTimeDate(timedate) { var s = new Date(timedate); var date = (s.getFullYear()) + "-" + (s.getMonth() + 1) + "-" + (s.getDate()) + " " + (s.getHours()) + ":" + (s.getMinutes()); // + ":" + (s.getSeconds()); return date; }