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,找不到问题出在哪
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qq_351734088 2021-09-16 16:59关注
NaN只有处理数字的时候会出现
var rhours=Math.floor(runtime/(36001000));//计算出小时数
var fhours=Math.floor(faulttime/(36001000));
也就是上面runtime或faulttime可能是字符串
if (arr1 === 0 ) {
runtime1 = data - Stime;//时间差的毫秒数
} else {
faulttime1 = data - Stime;
}
data、data1这个变量写错了吧应该是date、date1吧本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 outlook无法配置成功
- ¥15 Pwm双极模式H桥驱动控制电机
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换