Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

396
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda