Calculo de horas

[code] public static long horarioCumprido(int usu, String data1, String data2, Connection Conexao){

    String dtIni = data1;
    String sql;
    long total = 0;
    
    String dataIni[] = data1.split("/");
    
    int diaIni = Integer.parseInt(dataIni[0]);
    int mesIni = Integer.parseInt(dataIni[1]);
    int anoIni = Integer.parseInt(dataIni[2]);
    
    SimpleDateFormat dtFormat = new SimpleDateFormat("dd/MM/yyyy");
    GregorianCalendar dt = new GregorianCalendar(anoIni, mesIni - 1, diaIni);
    
    while (!dtIni.equals(data2)){    
        try {
            dtIni = dtFormat.format(dt.getTime());
            dt.add(GregorianCalendar.DAY_OF_MONTH, 1);
            
            Statement st = Conexao.createStatement();
            sql = "SELECT dedao.horas_dia(" + usu + ",'" + dtIni + "')";
            ResultSet rs = st.executeQuery(sql);
            rs.next();
            total += toSeconds(rs.getString("horas_dia"));
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }    
    return total;
}[/code]

Ola pessoal desenvolvi esse codigo para retornar a soma de dois horarios,
creio que o codigo possa ser melhorado mas como estou aprendendo a mecher
com datas cheguei nisso ai.
Porem eu preciso pegar esses segundos no final e transformar em hora
e quando passar de um dia nao ficar 01 12:00:00 e sim 36:00:00 entende
mas quando eu chamo o seguinte codigo ele transforma em dia.
E possivel fazer essa configuracao utilizando algum metodo do proprio java do
Gregorian ou Date. ou devo fazer manualmente multiplicando o dia por 24.

long teste = CalculaHora.horarioCumprido(Integer.parseInt(request.getParameter("funcionario")) , dataini, datafim, c.conn); SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); formatter.setTimeZone(TimeZone.getTimeZone("GMT")); java.util.Date dtTeste = new java.util.Date(teste * 1000);

Obs: Quem tive sugestao de melhoria do codigo tbm aceito ehehhee
Obrigado

Olá

Dica de como melhorar neste blog.