在Javascript中添加HH:MM:SS字符串
我想我自己无法解决这个问题。 假设我有一个时间,其字符串格式为HH:MM:SS ex.在Javascript中添加HH:MM:SS字符串,javascript,string,time,add,Javascript,String,Time,Add,我想我自己无法解决这个问题。 假设我有一个时间,其字符串格式为HH:MM:SS ex.10:11:06,我想在其中添加另一个时间并将其作为字符串返回。例如,“10:11:06”+“11:00:01”将返回“21:11:07” 我浏览了这个网站,提出了一个解决方案,将其转换为秒数,然后将它们加在一起: function addTimes(start, end) { var a = start.split(":"); var seconds = (+a[0]) * 60 * 60 + (+a[1
10:11:06
,我想在其中添加另一个时间并将其作为字符串返回。例如,“10:11:06”+“11:00:01”将返回“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初始化了sum变量代码>而不是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(“:”);
变量秒=(+a[0])*60*60+(+a[1])*60+(+a[2]);
var b=结束。拆分(“:”);
var seconds2=(+b[0])*60*60+(+b[1])*60+(+b[2]);
var日期=新日期(1970,0,1);
日期设置秒(秒+秒2);
var c=date.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2})。*/,“$1”);
控制台日志(c)你到底为什么要经历这一切<代码>新日期(1970,0,1,+a[0]、+a[1]、+a[2])
在您发布的代码片段中,console.log(c)代码>将永远不会执行,因为您在调用之前从函数返回了。我刚刚测试了这个函数,它适用于您提供的示例开始和结束时间(10:11:06
和11:00:01
),但如果start
和end
时间加起来超过24
小时,它肯定会失败。@Titus我有一个控制台。登录外部检查该函数。谢谢,我刚意识到可能是我的另一个密码。