javascript - Moment.js - 舍入持续时间

标签 javascript rounding momentjs duration

我有 2 个日期选择器(fromto),我需要获取它们之间的持续时间,并按变量值四舍五入(例如 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

关于javascript - Moment.js - 舍入持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42835612/

相关文章:

javascript - jQuery Slider - 如何根据另一个 slider 制作一组具有最大值的 slider ?

javascript - JavaScript 中超过特定​​输入值时的百分比

c - 具有非精确表示的舍入 float

javascript - fromNow 在不同的浏览器上显示不同的字符串

javascript - 时间序列流,删除 x 轴上的上午/下午和 24 小时格式

带有没有默认导出的模块的 Angular AOT/Rollup(如 immutable.js、moment.js)

javascript - (): meaning in javascript function

javascript - JavaScript 中的上一张和下一张图片链接

C++ round(49.5) 在使用变量调用时返回 49(在 Qt 中)

Java BigDecimal 舍入