Как преобразовать часы и минуты в минуты с помощью moment.js?

Мне нужно преобразовать часы и минуты в значения минут. С чистым объектом Date JavaScript я делаю следующее:

var d = new Date();
var minutes = d.getHours() * 60 + d.getMinutes();

Я только что перешел на moment.js и ищу лучшее решение, например следующее:

var minutes = moment(new Date()).toMinutes()

Есть ли что-то подобное?


person Erik    schedule 04.05.2014    source источник


Ответы (4)


Я думаю, что лучше всего создать Duration, а затем получить минуты, используя asMinutes. Это, вероятно, яснее при описании интервала времени.

moment.duration().asMinutes()

Вот ссылка в документации.

person Davin Tryon    schedule 04.05.2014
comment
Можно ли использовать продолжительность в существующем моменте, js-объекте, таком как момент (новая дата ()). Продолжительность (). asMinutes ()? - person Erik; 04.05.2014
comment
Я думаю, что это возможно, но сам не пробовал. - person Davin Tryon; 04.05.2014
comment
Ты очень умный! - person Alex78191; 17.06.2017
comment
@ Эрик нет, это невозможно. Вы получите: moment(...).duration не является функцией - person rept; 30.06.2018

Для тех, кто хочет получить минуты из существующего объекта Moment, вы можете сначала отформатировать его так, как вам нужно, а затем использовать duration, чтобы получить его продолжительность в минутах:

moment.duration(myMomentObjectToConvert.format("HH:mm")).asMinutes()
person Alexandre Lara    schedule 26.11.2018


Мне не нужен был moment.js, по крайней мере, он работал для моих сценариев:

console.log('converting 2 hours, 20 minutes and 120 seconds to minutes');

var hours = 2,
  minutes = 20,
  seconds = 120,
  timeInminutes = (hours * 60) + minutes + (seconds / 60);

console.log('2 hours, 20 minutes and 120 seconds to minutes is', timeInminutes, ' minutes')

person Zameer Ansari    schedule 08.02.2018