从返回的休眠列表中获取特定元素

时间:2015-02-24 06:19:36

标签: java hibernate

我有一个返回的数据列表“DeviceReportList”,我需要计算设备离线的总秒数。 “0”表示设备关闭,“1”表示“ConnectedStatus”栏中的“1”。还会返回“updatedtime”列。我必须计算每个0到下一个1之间的时间差,然后将它们相加以找出总的断开连接时间。 ConnectedStatus列值将始终为1,0,1,0,1 ...或0,1,0,1,0 ....

我已经完成了如下所示,但总是让我的时差为0,这就是为什么我认为下面的方法不起作用。你能告诉我我做错了吗? :)

SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");
long totalDissConnTime = 0;
for(int i = 0;i < DeviceReportList.size() - 1;i++){
DeviceReportList reportRow = DeviceReportList.get(i);
if(reportRow .getConnectedStatus() == 0 ){
  Date d2 = format.parse(DeviceReportList.get(i+1).getUpdatedTime());
  Date d1 = format.parse(reportRow.getUpdatedTime());
  long diff = d2.getTime() - d1.getTime();
  long diffSeconds = diff / 1000;
  totalDissConnTime = totalDissConnTime + diffSeconds;
  System.out.println("Loop " + (i+1) +": Device offline for "+ totalDissConnTime + " seconds.");
}

0 个答案:

没有答案