使用javascript时的到次总和
有谁能告诉我如何使用javascript(momentjs)进行两次求和,例如: 2:44:56和2:50:56 我试过了,但没用:使用javascript时的到次总和,javascript,Javascript,有谁能告诉我如何使用javascript(momentjs)进行两次求和,例如: 2:44:56和2:50:56 我试过了,但没用: 2:44:56 + 2:50:56 有什么建议吗???你可以这样做。对力矩对象使用add方法并传递数据 let x = moment({ hours:'2', minutes:'44', seconds:'56'}) .add({ hours:'2',
2:44:56 + 2:50:56
有什么建议吗???你可以这样做。对力矩对象使用add方法并传递数据
let x = moment({
hours:'2',
minutes:'44',
seconds:'56'})
.add({
hours:'2',
minutes:'50',
seconds:'56' })
console.log(x)
或者动态地传递数据
let time = {
hours: 2,
minutes:44,
seconds: 56
}
let time2 = {
hours: 2,
minutes:50,
seconds: 56
}
let y = moment(time)
.add(time2)
console.log(y)
你可以这样做。对力矩对象使用add方法并传递数据
let x = moment({
hours:'2',
minutes:'44',
seconds:'56'})
.add({
hours:'2',
minutes:'50',
seconds:'56' })
console.log(x)
或者动态地传递数据
let time = {
hours: 2,
minutes:44,
seconds: 56
}
let time2 = {
hours: 2,
minutes:50,
seconds: 56
}
let y = moment(time)
.add(time2)
console.log(y)
可以将秒数相加,然后计算进位值,再将进位值与分钟数相加,依此类推。使用reduce可以轻松实现这一点:
function sum(date1, date2){
date1 = date1.split(":");
date2 = date2.split(":");
const result = [];
date1.reduceRight((carry,num, index) => {
const max = [24,60,60][index];
const add = +date2[index];
result.unshift( (+num+add+carry) % max );
return Math.floor( (+num + add + carry) / max );
},0);
return result.join(":");
}
console.log(
sum("2:44:56" , "2:50:56" )
);
可以将秒数相加,然后计算进位值并将其加到分钟总数中,依此类推。使用reduce可以轻松实现这一点:
function sum(date1, date2){
date1 = date1.split(":");
date2 = date2.split(":");
const result = [];
date1.reduceRight((carry,num, index) => {
const max = [24,60,60][index];
const add = +date2[index];
result.unshift( (+num+add+carry) % max );
return Math.floor( (+num + add + carry) / max );
},0);
return result.join(":");
}
console.log(
sum("2:44:56" , "2:50:56" )
);
Momentjs有一个对象,可用于添加或减去两个或多个时间跨度
const a = moment.duration('02:44:56');
const b = moment.duration('02:50:56');
const c = a.add(b);
console.log(c.hours() );
console.log(c.minutes() );
console.log(c.seconds() );
Momentjs有一个对象,可用于添加或减去两个或多个时间跨度
const a = moment.duration('02:44:56');
const b = moment.duration('02:50:56');
const c = a.add(b);
console.log(c.hours() );
console.log(c.minutes() );
console.log(c.seconds() );
守则:
过程:
Split()
函数有效地将t2拆分为一个数组,其中包含[小时、分钟、秒]
Add()
方法将时间加在一起守则: 过程:
Split()
函数有效地将t2拆分为一个数组,其中包含[小时、分钟、秒]
Add()
方法将时间加在一起矩()函数将小时、分钟、秒作为参数,并返回一个矩对象,该矩对象具有一个add()方法,该方法也可以将小时、分钟、秒作为参数并返回总时间 尝试添加时间(时间1,时间2) 矩()函数将小时、分钟、秒作为参数,并返回一个矩对象,该矩对象具有一个add()方法,该方法也可以将小时、分钟、秒作为参数并返回总时间 尝试添加时间(时间1,时间2) 好的老JS解决方案:
var基数=新日期(0);
var t1=新日期(基准);
var t2=新日期(基准);
t1.刚毛(2,45,50);
t2.刚毛(2,50,50);
var t=新日期(t1.getTime()+t2.getTime()-base.getTime());
结果=t.getUTCHours()+“:”+t.getUTCMinutes()+“:”+t.getUTCSeconds();
console.log(结果);
好的旧JS解决方案:
var基数=新日期(0);
var t1=新日期(基准);
var t2=新日期(基准);
t1.刚毛(2,45,50);
t2.刚毛(2,50,50);
var t=新日期(t1.getTime()+t2.getTime()-base.getTime());
结果=t.getUTCHours()+“:”+t.getUTCMinutes()+“:”+t.getUTCSeconds();
console.log(result);
t=newdate(t1.getTime()+t2.getTime())有什么问题?@jrook缺少一个库。JS中的所有内容都必须使用库。你可以使用一个持续时间。如何使用矩。JSt=newdate(t1.getTime()+t2.getTime()有什么问题
?@jrook它缺少一个库。JS中的所有东西都必须使用一个库。你可以使用一个持续时间。时间是动态的。我不能这样做。你可以传递变量而不是字符串:-)矩({hours:time.hours,minutes:time.minutes,seconds:time.seconds})请不要只发布代码答案。花点时间解释读者可以从中了解到的情况。嗯,时间(time1)。添加(time2)??时间是动态的。我不能这样做,你可以传递变量而不是字符串:-)时间({hours:time.hours,minutes:time.minutes,seconds:time.seconds})请不要只发布代码答案。花点时间解释一下发生在读者身上的事情,读者可以从中学到什么。嗯,现在(时间1)。添加(时间2)??请不要只发布代码答案。花点时间来解释发生在读者身上的事情,读者可以从中学到什么。@LazarLjubenović他确实试图解释它,尽管只有1.5行。请不要只发布代码答案。花点时间来解释发生在读者身上的事情,读者可以从中学到什么。@LazarLjubenović他确实试图解释它,尽管用了1.5行。这是一种巧妙的方式。这是一种巧妙的方式。