SOMAR AS HORAS em java quando excedem 24h

public static Time somarTotalHorasTraba(ArrayList<Time> list) {
    JOptionPane.showMessageDialog(null, list.size());
    Time resultado = null;
    int h = 0;
    int m = 0;
    int s = 0;

    for (int i = 0; i < list.size(); i++) {

       
        h += list.get(i).getHours();
        m += list.get(i).getMinutes();
        s += list.get(i).getSeconds();
        JOptionPane.showMessageDialog(null, h+"  -  "+list.get(i).getHours());
    }

    if (m >= 60) {
        h = h + 1;
        m = m - 60;
    }
    if (s >= 60) {
        m = m + 1;
        s = s - 60;
    }

    resultado = new Time(h, m, s);

    return resultado;

Tenho esse método que calcula certo pra min as horas trabalhadas, porém quando as horas trabalhadas ultrapassam 23 horas ele não soma mais, ai no relatório aparece 00 horas.

1 curtida

Se você pensar em somar somente horas sem data.
Pra ficar correto tem que transformar horas sexagesimais em centesimais.

1 curtida