我不认为我可以自己解决这个问题。
假设我有时间使用字符串格式的HH:MM:SS ex。 10:11:06
我希望再添加一次并将其作为字符串返回。恩。 "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}).*/, "$1");
return c;
console.log(c);
}
然而,console.log C返回无效日期。这仍然是一个字符串还是我做错了什么?
编辑:(我很蠢)我在递归循环中使用了这个,并用var s = 0;
而不是var s = "00:00:00";
初始化了sum变量
答案 0 :(得分:0)
试试这个
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}).*/, "$1");
console.log(c);
答案 1 :(得分:-1)
试
var c = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
return c;
将日期对象转换为时间。