Javascript Moment.js-一轮持续时间

Javascript Moment.js-一轮持续时间,javascript,rounding,momentjs,duration,Javascript,Rounding,Momentjs,Duration,我有两个从和到的日期选择器,我需要得到它们之间的持续时间,四舍五入一个可变值,例如60分钟 我解决了,但也许有人知道一个更短/更好的解决方案 var duration = moment.duration(to - from), roundedDuration = moment.duration( moment.utc(0) .add(duration) .ceil(ROUNDINGVALUE, ROUNDINGUNIT) - moment.utc(0) ); 我的代码执

我有两个从和到的日期选择器,我需要得到它们之间的持续时间,四舍五入一个可变值,例如60分钟

我解决了,但也许有人知道一个更短/更好的解决方案

var duration = moment.duration(to - from),
roundedDuration = moment.duration(
    moment.utc(0)
    .add(duration)
    .ceil(ROUNDINGVALUE, ROUNDINGUNIT) - moment.utc(0)
);
我的代码执行以下操作:

获取两次之间的持续时间 将持续时间添加到UTC时间0 将该日期舍入到我想要的值60分钟=>整小时 获取该时间与新UTC时间0之间的持续时间。
是否有其他解决方案来取整时刻持续时间?

在这里,我假设您在寻找时间持续时间时,有from/to作为时刻日期对象

var from = moment(),
    to = moment().add(2, 'hours'); // adding 2 hours here just for example sake

moment.duration(to.diff(from).asMinutes(); // 120     
moment.duration(to.diff(from).asHours() // 2, if you want in hours

在这里,我假设您有from/to-as-moment-date对象,其时间为您查找的持续时间

var from = moment(),
    to = moment().add(2, 'hours'); // adding 2 hours here just for example sake

moment.duration(to.diff(from).asMinutes(); // 120     
moment.duration(to.diff(from).asHours() // 2, if you want in hours

什么是到和从?什么是到和从?我不想只得到不同的持续时间,我想把ceil的持续时间四舍五入到一个固定的其他持续时间,例如:两个日期之间的差异持续时间是2小时,就像你的代码,但我想把他们四舍五入到你的全部步骤。四舍五入到什么?2小时可以凑到5小时?在我的情况下,我必须凑到1小时,这个值是可变的,并且是一个持续时间。因此,我如何舍入像:2:37->3:00或1:01->2:00这样的值我不想只得到差异持续时间,我想将ceil的持续时间舍入到一个固定的其他持续时间,例如:两个日期之间的差异持续时间是2小时,就像你的代码,但我想将它们舍入到你的全部5个步骤。舍入到什么?2小时可以凑到5小时?在我的情况下,我必须凑到1小时,这个值是可变的,并且是一个持续时间。那么我如何舍入像:2:37->3:00或1:01->2:00这样的值呢