Senhores, tenho um método que gera dados para um relatório e surgiu uma necessidade que está me segurando um pouco.
O sistema é antigo, já bastante funcional porém surgiu a necessidade de adicionar uma informação a mais neste relatório. Já existe um campo ‘duracao’ que é a duração em horas de um determinado evento. Esta ‘duracao’ é uma String. Como já funciona há bastante tempo a primeira solução que me veio em mente foi armazenar estes valores em uma lista, e simplesmente somá-los.
depois de realizado os tratamentos com substring nos minutos e segundos a saída seria: “05:69:50”… 69 minutos não funciona. O resultado deveria ser “06:09:50”
drigo.angelo
Procura na API das classes Calendar, Date ou Time, deve ter algum método para calcular isso.
Se não tiver, faça um, que soma horas respeitando o fato de 60 segundos, aumanta um minuto, 60 minutos, aumenta uma hora, 24 horas aumenta um dia, etc…
otaviojava
Essa só foi uma maneira.
Você pode usar o split
e fazer as lógica de minuto, segundo e hora
Eu vi a documentação sugerida, estou vendo tambem o JodaTime… A questão maior, é que para a minha necessidade o dia não importa. Este relatório já é funcional há muito tempo. com o campo duracao (se houver no respectivo evento), esse campo ‘duracao’ trás uma string exibindo uma hora como mencionei… Preciso apenas adicionar um “Total” no fim do relatório, mostrando a soma das durações… os dias em questão não são necessários… por isso havia pensado em guardar estas durações em uma lista, e percorrê-la somando seu conteúdo…
S
savius
Senhores, obrigado pela colaboração de todos. Otávio, peguei uma carona no seu conselho e resolvi o problema.