2016-08-24 4 views
0

Мне нужно рассчитать продолжительность двух дат с оставшимися днями и часами.Рассчитать дату Длительность

Если две даты имеют разные дни, мне нужно вернуть продолжительность в днях и часах.

Например, если следующий ввод:

2016-12-11T09:30:00.000Z и 2016-12-12T11:30:00.000Z

Я хотел бы иметь этот результат:

1 день 2 часа

Как для достижения этого с помощью moment.js?

ответ

2

Вы можете использовать плагин moment-duration-format.

Просто создайте объект момента из ваших строк/дат, затем получите разницу в миллисекундах, используя метод diff, чтобы создать объект duration. Используйте метод format от moment-duration-format, чтобы напечатать продолжительность согласно вашим потребностям.

Вот рабочий пример:

// Create moment objects 
 
var m1 = moment('2016-12-11T09:30:00.000Z'); 
 
var m2 = moment('2016-12-12T11:30:00.000Z'); 
 
// Get the difference in milliseconds 
 
var diff = Math.abs(m1.diff(m2)); 
 
// Format duration according your needs 
 
console.log(moment.duration(diff).format("d [day] h [hrs]"));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>

+0

Большое спасибо. Он работает как ожидалось – Manikandan

Смежные вопросы