Добавьте часы минуты в формате чч: мм, используя момент - PullRequest
1 голос
/ 09 мая 2019

Я использую библиотеку моментов, и из внешнего интерфейса я получаю время в HH:mm Мне нужно добавить часы и минуты к текущему времени, используя момент.

Предположим, я получаю 05:30 от внешнего интерфейса, и мне нужно добавить текущее время UTC. Как я могу сделать это с помощью моментов?

Я попробовал это, но не сработало

moment().add('05:30', 'HH:mm')

Ответы [ 5 ]

6 голосов
/ 09 мая 2019

Вы можете создать длительность для '05:30', используя moment.duration(String) и использование add(Duration).

в качестве продолжительности моментаВ документации указано, что '05:30' является допустимым входным значением для moment.duration(String):

Начиная с 2.1.0 , момент поддерживает синтаксический анализ времени в стиле ASP.NETохватывает.Поддерживаются следующие форматы.

Формат - строка часов, минут и секунд, разделенных двоеточиями, например 23:59:59.Количество дней может начинаться с точечного разделителя, например 7.23:59:59.Также поддерживаются частичные секунды 23:59:59.999.

Вот живой пример:

const result = moment().add( moment.duration('05:30') );
console.log( moment().format() );
console.log( result.format() );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
2 голосов
/ 09 мая 2019

РЕДАКТИРОВАТЬ: @ VincenzoC выше, при условии, что я лично считаю лучшей практикой. Проверяйте этот ответ только как альтернативу его.

Просто сделай:

moment().add({
   hours: 5,
   minutes: 30
});

Как указано в официальной документации: http://momentjs.com/docs/#/manipulating/add/

Либо используйте литерал объекта, как указано выше, либо используйте цепочку.

Если вы не можете избавиться от этой строки, просто получите часы и минуты, разделив:

let [hours, minutes] = '05:30'.split(':').map(Number);
console.log(hours);
console.log(minutes);
2 голосов
/ 09 мая 2019

Момент имеет .add свойство

moment (). Add (1, 'day')

Ссылка: http://momentjs.com/docs/#/manipulating/add/

Для преобразования в определенный формат:

moment().add({hours:5, minutes: 30}).format('HH:mm')
1 голос
/ 09 мая 2019
var t = '05:30';
var hours = parseInt(t.substr(0,2));
var minutes = parseInt(t.substr(3,5));
moment().add(hours,'hours').add(minutes,'minutes');
0 голосов
/ 09 мая 2019

Попробуйте использовать

moment.add(5,'hours').add(30,'minutes').format('HH:mm')

ИЛИ

moment().add({hours:5, minutes: 30}).format('HH:mm')

...