Момент разницы между двумя датами

Я изо всех сил пытаюсь получить правильный результат с двух дат.

var destinationTime = moment("2019-05-07T16:59:00");

moment.utc(moment(destinationTime, "DD/MM/YYYY HH:mm:ss").diff(moment(moment(), "DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss")

И я хочу получить результат только в ЧАСАХ, поэтому он работает только для дат в один и тот же день.

если время назначения, например, 7 мая, оно игнорирует выходной день: "03:11:22"

ожидаемое поведение возвращает мне время между двумя датами по часам "216:11:22" ‹-- часы, минуты и секунды


person Roberto    schedule 29.04.2019    source источник
comment
Возможный дубликат вашего вопроса. См. stackoverflow.com/questions/25150570/   -  person Shahbazsaeed38    schedule 29.04.2019


Ответы (2)


Вы пробовали что-то подобное?

let date1 = new Date(params.data.incidentTime).getTime();
let date2 = new Date(params.data.creationTime).getTime();
let time = date1 - date2;  //msec
let hoursDiff = time / (3600 * 1000);

Или в зависимости от ваших потребностей более короткая версия

var hours = Math.abs(date1 - date2) / 36e5;
  • 36e5 = 60*60*1000
person Viktor Nuevo    schedule 29.04.2019

Вы могли бы попробовать

jsfiddle http://jsfiddle.net/thanseeh/ahq52xfj/1/

 var destinationTime = moment("2019-05-07T16:59:00");

moment.utc(moment(destinationTime, "yyyy-MM-dd'T'hh:mm:ss").diff(moment(new Date(), "yyyy-MM-dd'T'hh:mm:ss"))).format("HH:mm:ss")
person Abdulla Thanseeh    schedule 29.04.2019
comment
вы можете изменить дни на необходимые реквизиты - person Abdulla Thanseeh; 29.04.2019
comment
он показывает мне только правильные часы 194, но я хочу, чтобы часы были в формате с минутами и секундами ЧЧ: мм: сс - person Roberto; 29.04.2019
comment
это не работает, как ожидалось, оно ИГНОРИРУЕТ фактическую дату. Выход 02:27:22 2 часа 27 минут, когда должно быть что-то вроде 216 часов 216:27:22, потому что дата назначения 05.07.2019 - person Roberto; 29.04.2019
comment
Давайте продолжим это обсуждение в чате. - person Roberto; 29.04.2019