public void calcular(Conectar cn, String fechaInicio, String fechaFin)
      throws SQLException, IOException, ParseException {

    // Cuenta el número de dispositivos que han pasado por cada nodo, osea cuántas veces un
    // dispositivo ha pasado por un nodo determinado.
    Statement st1 = cn.crearSt();
    String query =
        "select paso.idNodo, nodo.nombre, idDispositivo, count(idDispositivo), YEAR(FROM_UNIXTIME(tInicio/1000)) as year, "
            + "MONTH(FROM_UNIXTIME(tInicio/1000)) as month, DAYOFMONTH(FROM_UNIXTIME(tInicio/1000)) as day, "
            + "HOUR(FROM_UNIXTIME(tInicio/1000)) as hour, DAYNAME(FROM_UNIXTIME(tInicio/1000)) as nameDay, FROM_UNIXTIME(tInicio/1000) as fecha from paso, nodo where paso.idNodo=nodo.idNodo "
            + "and FROM_UNIXTIME(tInicio/1000) < '"
            + fechaFin
            + "' and FROM_UNIXTIME(tInicio/1000) > '"
            + fechaInicio
            + "' group by nodo.IdNodo, idDispositivo, year, month, day, hour;";
    System.err.println(query);
    ResultSet rs = st1.executeQuery(query);

    String s;
    // DateFormat format = new SimpleDateFormat("MMddyyHHmmss");
    while (rs.next()) {
      s =
          rs.getObject(1)
              + "\t"
              + rs.getObject(2)
              + "\t"
              + rs.getObject(3)
              + "\t"
              + rs.getObject(4)
              + "\t"
              + rs.getObject(5)
              + "\t"
              + rs.getObject(6)
              + "\t"
              + rs.getObject(7)
              + "\t"
              + rs.getObject(8)
              + "\t"
              + rs.getObject(9)
              + "\n";
      bw.write(s);
      System.err.print(s);
      // sumaTiempo=sumaTiempo+Long.parseLong(rs.getObject(2).toString())-Long.parseLong(rs.getObject(1).toString());

    }

    rs.close();
    bw.close();
  }