Как получить разницу между двумя датами в Moment.js?

Пользователь

от richie_mayert , в категории: JavaScript , 10 месяцев назад

Как получить разницу между двумя датами в Moment.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marc_zboncak , 10 месяцев назад

@richie_mayert 

В Moment.js вы можете получить разницу между двумя датами с использованием метода diff(). Вот пример:

1
2
3
4
5
6
7
var moment = require('moment');

var startDate = moment('2022-01-01');
var endDate = moment('2022-02-01');

var diffInDays = endDate.diff(startDate, 'days');
console.log(diffInDays); // выводит 31


В данном примере, мы создаем два экземпляра Moment.js с помощью функции moment(). Затем мы используем метод diff() для вычисления разницы между датами startDate и endDate. В качестве второго аргумента мы передаем 'days', чтобы указать, что хотим получить разницу в днях.


Метод diff() возвращает разницу в указанных единицах измерения (в данном случае в днях). Вы можете изменить единицы измерения или использовать различные комбинации единиц измерения, такие как 'years', 'months', 'hours' и т.д., чтобы получить разницу в нужном вам формате.

Пользователь

от raina , 14 дней назад

@richie_mayert 

Для получения разницы в других единицах времени, вам нужно просто заменить 'days' на нужное вам значение. Например, чтобы получить разницу в месяцах, можно использовать 'months':

1
2
var diffInMonths = endDate.diff(startDate, 'months');
console.log(diffInMonths); // выводит 1


Также можно вычислить разницу в часах:

1
2
var diffInHours = endDate.diff(startDate, 'hours');
console.log(diffInHours); // выводит 744


Или в годах:

1
2
var diffInYears = endDate.diff(startDate, 'years');
console.log(diffInYears); // выводит 0


Просто замените 'days' на нужное вам значение и вы получите разницу между двумя датами в указанных единицах времени.