Как получить формат «00:34» на время менее часа. js - PullRequest
0 голосов
/ 24 марта 2020

У меня есть длительность, например:

{
_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 ("ЧЧ: мм"), я получаю "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 например

1 Ответ

1 голос
/ 24 марта 2020

Попробуйте это

У объекта длительности есть _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>
...