在 Javascript 中添加 HH:MM:SS 个字符串

Adding HH:MM:SS strings in Javascript

我认为我无法独自解决这个问题。 可以说我有时间使用 HH:MM:SS ex 的字符串格式。 10:11:06 并且我想向它添加另一个时间并且 return 它作为一个字符串。前任。 "10:11:06" + "11:00:01" would return "21:11:07"

我浏览了这个网站,提出了一个将其转换为秒然后将它们相加的解决方案:

function addTimes(start, end) {
 var a = start.split(":");
 var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 
 var b = end.split(":");
 var seconds2 = (+b[0]) * 60 * 60 + (+b[1]) * 60 + (+b[2]); 

 var date = new Date(1970,0,1);
     date.setSeconds(seconds + seconds2);

 var c = date.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "");
     return c;
     console.log(c);
}   

但 console.log C return 是一个无效日期。这仍然是一个字符串还是我做错了什么?

Source 1 Source 2

编辑:(我很愚蠢)我在递归循环中有这个,我用 var s = 0; 而不是 var s = "00:00:00";

初始化了 sum 变量

尝试

var c = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
return c;

将日期对象转换为时间。

试试这个

var start = "10:11:06";
var end = "10:11:06";
  var a = start.split(":");
 var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 
 var b = end.split(":");
 var seconds2 = (+b[0]) * 60 * 60 + (+b[1]) * 60 + (+b[2]); 

 var date = new Date(1970,0,1);
     date.setSeconds(seconds + seconds2);

 var c = date.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "");
console.log(c);