lilywm 2021-09-16 14:46 采纳率: 20%
浏览 36
已结题

时间提示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);
});
  • 写回答

2条回答 默认 最新

  • qq_351734088 2021-09-16 16:59
    关注

    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吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月17日
  • 已采纳回答 9月17日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 outlook无法配置成功
  • ¥15 Pwm双极模式H桥驱动控制电机
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换