javascript - 如何获取持续时间小于一小时的格式 "00:34"moment.js

标签 javascript typescript momentjs

我的持续时间如下:

{
_isValid: true
_milliseconds: 2040000
_days: 0
_months: 0
_data: {milliseconds: 0, seconds: 0, minutes: 31, hours: 3, days: 0, …}
_locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: "Invalid date", _dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: ƒ, …}
__proto__: Object
}

如果我设置duration.format("HH:mm"),我会得到“34”,我怎样才能得到“00:34”?

我使用这个的代码:

duration: timeEntries
            .slice(1)
            .reduce((prev, cur) => {
              return prev.add(cur.duration);
            }, moment.duration(timeEntries[0].duration))
            .format("HH:mm")

我的持续时间是 34,而不是 00:34,因为持续时间小于小时,在其他情况下,时间较长,它会返回 1:30 例如

最佳答案

试试这个

Duration 对象有 _data,其中包含我们格式化所需的时间对象。

//moment(moment.duration(duration_value)._data).format("HH:mm");
console.log(moment(moment.duration(3500000)._data).format("HH:mm"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

关于javascript - 如何获取持续时间小于一小时的格式 "00:34"moment.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60829034/

相关文章:

javascript - 实例化一个没有 'new' 的类

JavaScript knockoutjs,设置嵌套对象值不会更新 Html?

javascript - 如何关闭 node.js 中子进程的 stdio 管道?

javascript - 如何在 iOS 应用程序中使用 iMonkey

javascript - 下划线 groupby 返回数组而不是对象

jquery - Angular2 和 jQuery 插件完美地协同工作?

javascript - 属性 'length' 不存在于类型 ... mysql2 模块中的 OkPacket

reactjs - 使用 moment 将日期设置为一个月而不是当前日期

javascript - 传递 javascript 日期对象时,Moment 返回无效日期

javascript - 检查 hh :mm format with Moment. js 是否有效