在 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);
我认为我无法独自解决这个问题。
可以说我有时间使用 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";
尝试
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);