У меня есть массив let times = ['04:20:10', '21:15:10']
. Я использую метод add:let time1 = add([times])
. Далее я использую метод str: str([time1])
. Я продолжал
25:35:30
. Я хотел бы получить следующий результат: 25h 35 min 30 sec
. Если бы сумма пришлась на 30:00:00
, я бы хотел получить результат 30h
. В случае суммы 00:30:00
я хотел бы получить результат 30 min
. В случае 00:00:20
- результат 20 sec
. Как получить такой результат в библиотеке «timelite.js» или «moment.js»?
Может быть, было бы проще, если бы вы просто отформатировали время.
const formatTime = (time) => {
const [hour, minute, sec] = time.split(':')
return `${hour} h ${minute} min ${sec} sec`
}
const time = '25:35:30'
console.info(formatTime(time))
// 25 h 35 min 30 sec
Это всего лишь простой пример. Чтобы достичь того, чего вы хотите, вам нужно добавить еще немного логики, но да, это хорошее начало.
const convert = (time) => {
const [hour, minute, sec] = time.split(':');
if (hour !== "00") {
return `${hour} h ${minute} m ${sec} s`;
}
if (minute !== "00") {
return `${minute} m ${sec} s`;
}
return `${sec} s`;
}
console.info(convert('00:30:00');
//30 min 00s
если какой-то ответ подтолкнул вас к ответу, вы должны отметить его как правильный