var dataSourceName = 'KHTest';
//数据源名称
var tagNames = ['D01','D02','D03','D04'];
//变量名称
var startTime = DateTimeBox2.Value;
//查询的开始时间
var endTime = DateTimeBox3.Value;
//查询的结束时间
var dataVersion = 0;
//数据版本:原始版本
var Arr = [];
//质量戳
var filter = '';
var dataQuality = true;
GetHistoryDatasKH(dataSourceName,tagNames,startTime,endTime,dataVersion,filter,dataQuality,function(res){
console.log(res);
var Stime = new Date (Date.parse(startTime)).getTime();
var Etime = new Date (Date.parse(endTime)).getTime();
var arr = res.data[0].records[4];
var starttime;
var endtime;
var runtime = 0 ;
var faulttime = 0 ;
var runtime1;
var runtime2;
var runtime3;
var faulttime1;
var faulttime2;
var faulttime3;
var newarr = {};
var value;
for (var i = 0,j = 1; i < arr.length,j < arr.length-1; i++,j++) {
var datatime = res.data[0].records[4][i][2];//取出字符串数据时间
var date = new Date (Date.parse(datatime.replace(/-/g, "/"))).getTime();// 将-转换为/
var datatime1 = res.data[0].records[4][j][2];
var date1 = new Date (Date.parse(datatime1.replace(/-/g, "/"))).getTime();
var datavalue = res.data[0].records[4][i][0];
var datavalue1 = res.data[0].records[4][j][0];
var arr1 = res.data[0].records[4][0][0];
var arr2 = res.data[0].records[4][arr.length-1][0];
if (datavalue === 1){
value = "运行";
}
else{
value = "故障";
}
console.log(value);
if (arr1 === 0 ) {
runtime1 = date - Stime;//时间差的毫秒数
console.log(runtime1);
} else {
faulttime1 = date - Stime;
console.log(faulttime1);
}
if (arr2 === 0) {
runtime2 = Etime - date;
console.log(runtime2);
} else {
faulttime2 = Etime - date;
console.log(faulttime2);
}
if (datavalue1 === 0) {
runtime3 = date1 - date;
console.log(runtime3);
} else {
faulttime3 = date1 - date;
console.log(faulttime3);
}
}
runtime = runtime1 + runtime2 + runtime3;
console.log(runtime);
faulttime = faulttime1 + faulttime2 + faulttime3;
// console.log(faulttime);
var rhours=Math.floor(runtime/(3600*1000));//计算出小时数
var fhours=Math.floor(faulttime/(3600*1000));
newarr.starttime=startTime;
newarr.endtime=endTime;
newarr.value=value;
newarr.runtime=rhours;
newarr.faulttime=fhours;
Arr.push(newarr);
Table1.SetData(Arr);
});
哪行出错了呀?另外你要做什么?感觉写复杂了
//首先这两行。。
var Stime = new Date (Date.parse(startTime)).getTime();
var Etime = new Date (Date.parse(endTime)).getTime();
//和下面是一样的,parse 返回的就是毫秒数
var Stime = Date.parse(startTime);
var Etime = Date.parse(endTime);
相加之前你在console 里边把这几个打(console.log(runtime1,runtime2,runtime3))出来看看都是不是数字。你给报错的是提示这几个变量中有一个不是数字的。