Манипулирование временными метками видео в JavaScript

#javascript #momentjs

#javascript #momentjs

Вопрос:

Как я могу выполнить математические вычисления, используя временные метки видео формата «00: 01: 00»?

Например, учитывая временную метку типа, var start = "00:01:00"; как я могу добавить время к start , используя другую временную метку (например, var end = "00:05:00" ), и получить результат, используя тот же формат (например, var sum = "00:06:00" )?

Я рассмотрел возможность использования Moment.js чтобы сделать это, но эта библиотека хочет принудительно привязать все к дате, что, похоже, не очень подходит для того, что я пытаюсь сделать.

Ответ №1:

На самом деле, вы можете сделать это с помощью moment, проверьте приведенный ниже код.

 var date = moment("00:01:00", 'mm:ss:SS');

var date2 = moment("00:05:00", 'mm:ss:SS');

date.add(date2);

var element = document.getElementById('app');

element.innerHTML = date.format('mm:ss:SS');  
 <div id="app"> </app>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.2.1/moment.min.js" type="text/javascript"></script>  

Комментарии:

1. Спасибо вам за это! Хотя, я просто не понял, что не передал самую сложную часть моей проблемы. Мне нужно добавить это смещение, используя другую временную метку в стиле видео. Сейчас я обновлю свой вопрос.

2. Интересно, что ваш ответ работает с Moment 2.2.1, однако 2.24.0 (последняя версия) завершается с ошибкой: «Предупреждение об устаревании: предоставленное значение не соответствует распознанному формату RFC2822 или ISO. построение moment возвращается к js Date(), что ненадежно во всех браузерах и версиях. Форматы даты, отличные от RFC2822 / ISO, не приветствуются и будут удалены в предстоящем крупном выпуске. Пожалуйста, обратитесь к momentjs.com/guides/#/warnings/js-date для получения дополнительной информации.» Это одна из причин, почему я был обеспокоен использованием Date . Видя, что ваше решение действительно работает, я с радостью отдам вам должное. Спасибо!