Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

393
Visualizações
Sum Hours:Minutes:Seconds in Java script

how can I sum hours:minutes:seconds in JavaScript. I mean by 04:32:05 03:14:03 To get 07:46:08

Ive tried

    var time1 = "01:00:01";
    var time2 = "01:00:10";
    var time3 = "01:54:00";
    var time4 = "01:30:00";
    var time5 = "01:00:00";
    var time6 = "01:00:00";
    var time7 = "01:00:00";
    
    var hour=0;
    var minute=0;
    var second=0;
    
    var splitTime1= time1.split(':');
    var splitTime2= time2.split(':');
    var splitTime3= time3.split(':');
    var splitTime4= time4.split(':');
    var splitTime5= time5.split(':');
    var splitTime6= time6.split(':');
    var splitTime7= time7.split(':');
    
    hour = parseInt(splitTime1[0]) + parseInt(splitTime2[0])  + parseInt(splitTime3[0])  + parseInt(splitTime4[0])  + parseInt(splitTime5[0])  + parseInt(splitTime6[0]) + parseInt(splitTime7[0]) 
    minute = parseInt(splitTime1[1]) + parseInt(splitTime2[1]) + parseInt(splitTime3[1]) + parseInt(splitTime4[1]) + parseInt(splitTime5[1]) + parseInt(splitTime6[1]) + parseInt(splitTime7[1])
    hour = hour + minute/60;
    minute = minute%60;
    second = parseInt(splitTime1[2]) + parseInt(splitTime2[2]) + parseInt(splitTime3[2]) 
    + parseInt(splitTime4[2]) + parseInt(splitTime5[2]) + parseInt(splitTime6[2]) + 
    parseInt(splitTime7[2]) 
    minute = minute + second/60;
    second = second%60;
    
   console.log(hour+ ":" + minute + ":"+ second)

The output I get is 8.4:24.183333333333334:11 instad of 08:24:11 any suggestions?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

your making it very complex, you can reduce this by converting into Date objects and then add each date to get the sum of all dates Understanding Date and Time in JavaScript

about 4 years ago · Juan Pablo Isaza Relatório

0

The problem with your code is you are including the decimal point

hour = hour + minute/60;

you need to floor it.

hour = hour + Math.floor(minute/60);

Now how to do it without a lot of repetitive code.

function toSeconds(s) {
  const parts = s.split(':');
  return +parts[0] * 3600 + +parts[1] * 60 + +parts[2];
}

function secondsToHHMMSS(secs) {
  return Math.floor(secs / 3600).toString().padStart(2, '0') + ':' + 
         (Math.floor(secs / 60) % 60).toString().padStart(2, '0') + ':' + 
         (secs % 60).toString().padStart(2, '0');
}


const timestamps = ["01:00:01", "01:00:10", "01:54:00", "01:30:00", "01:00:00", "01:00:00", "01:00:00"];

const totalSeconds = timestamps.reduce(function(total, ts) {
  return total + toSeconds(ts); 
}, 0);

const result = secondsToHHMMSS(totalSeconds);

console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

If you want to sum of times then you should try this

var addTime = function (time1, time2) {
//   convert to ms
  var dateObject1 = new Date(time1).valueOf();
  var dateObject2 = new Date(time2).valueOf();
  
  return dateObject1 + dateObject2;
}


var time1 = new Date().setHours(4, 32, 5, 0);
var time2 = new Date().setHours(3, 14, 3, 0);

var sum = new Date(addTime(time1, time2));

var getFormatedTime = function (time) {
  return time.getHours()+':'+time.getMinutes()+':'+time.getSeconds()
}


console.log(getFormatedTime(sum))
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda