【问题标题】:How to get format "00:34" for duration less than hour moment.js如何在不到一小时的时间内获取格式“00:34”moment.js
【发布时间】:2020-03-24 10:19:19
【问题描述】:

我的持续时间如下:

{
_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 例如

【问题讨论】:

  • 您能否创建一个示例代码,以便我们知道您尝试了什么以及错误是什么?
  • @Rajesh 当然,对不起

标签: javascript typescript momentjs


【解决方案1】:

试试这个

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>

【讨论】:

    猜你喜欢
    • 2019-09-24
    • 2017-05-17
    • 2020-01-05
    • 1970-01-01
    • 2015-03-21
    • 2014-04-10
    • 2012-10-09
    • 2011-06-27
    • 1970-01-01
    相关资源
    最近更新 更多