时间提示NaN,找不到问题出在哪


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 time = startTime / 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 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 = "故障";
        }
        alert('zhuangtai');
       if (arr1 === 0 ) {
         runtime1 = data - Stime;//时间差的毫秒数
     } else {
         faulttime1 = data - Stime;
       }
          alert(runtime1);
     if (arr2 === 0) {
           runtime2 = Etime - data;
      } else {
            faulttime2 = Etime - data;
        }
        
        if (datavalue === 0) {
            runtime3 = data1 -  data;
        } else {
            faulttime3 = data1 -  data;
        }
    }
 
        runtime = runtime1 + runtime2 + runtime3;
        faulttime = faulttime1 + faulttime2 + faulttime3;
    var rhours=Math.floor(runtime/(3600*1000));//计算出小时数
    var fhours=Math.floor(faulttime/(3600*1000));  
        newarr.time=time;
        newarr.value=value;
        newarr.runtime=rhours;
        newarr.faulttime=fhours;
        Arr.push(newarr);
    Table1.SetData(Arr);
});

NaN只有处理数字的时候会出现
var rhours=Math.floor(runtime/(36001000));//计算出小时数
var fhours=Math.floor(faulttime/(3600
1000));
也就是上面runtime或faulttime可能是字符串
if (arr1 === 0 ) {
runtime1 = data - Stime;//时间差的毫秒数
} else {
faulttime1 = data - Stime;
}
data、data1这个变量写错了吧应该是date、date1吧

NaN不是一个数字,就是你对一个不是数字的变量 做了加减乘除。 报错没显示第几行吗?
做运算的时候Number一下。