Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sum of Time using javascript

How to of sum time in javascript

01:00:00
00:30:00
00:30:00

I have time like above i want sum of given time like

sum of above time= 02:00:00

if i use javascript method setHours(),setMinutes() these function replace old time and show newly added time like :

1. new Date( new Date(0, 0, 0, 00, 00, 00, 0)).setMinutes(30)
2. new Date(new Date( new Date(0, 0, 0, 00, 00, 00, 0)).setMinutes(30)).setMinutes(30);

these above both condition result is same but i want here 00:30 + 00:30 = 01:00

. Please help thanks in advance

like image 889
Satnam singh Avatar asked Sep 26 '14 09:09

Satnam singh


2 Answers

Some functions to help you go back and forth between the formatted length of time and seconds as an integer:

function timestrToSec(timestr) {
  var parts = timestr.split(":");
  return (parts[0] * 3600) +
         (parts[1] * 60) +
         (+parts[2]);
}

function pad(num) {
  if(num < 10) {
    return "0" + num;
  } else {
    return "" + num;
  }
}

function formatTime(seconds) {
  return [pad(Math.floor(seconds/3600)),
          pad(Math.floor(seconds/60)%60),
          pad(seconds%60),
          ].join(":");
}

You can use them to achieve what you want:

time1 = "02:32:12";
time2 = "12:42:12";
formatTime(timestrToSec(time1) + timestrToSec(time2));
// => "15:14:24"
like image 81
minikomi Avatar answered Oct 01 '22 07:10

minikomi


Try this :

        var time1 = "01:00:00";
        var time2 = "00:30:00";
        var time3 = "00:30:00";
        
        var hour=0;
        var minute=0;
        var second=0;
        
        var splitTime1= time1.split(':');
        var splitTime2= time2.split(':');
        var splitTime3= time3.split(':');
        
        hour = parseInt(splitTime1[0])+parseInt(splitTime2[0])+parseInt(splitTime3[0]);
        minute = parseInt(splitTime1[1])+parseInt(splitTime2[1])+parseInt(splitTime3[1]);
        hour = hour + minute/60;
        minute = minute%60;
        second = parseInt(splitTime1[2])+parseInt(splitTime2[2])+parseInt(splitTime3[2]);
        minute = minute + second/60;
        second = second%60;
        
        alert('sum of above time= '+hour+':'+minute+':'+second);
like image 24
Bhushan Kawadkar Avatar answered Oct 01 '22 07:10

Bhushan Kawadkar