Как сравнить две даты в javascript с помощью moment.js?

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

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

Как сравнить две даты в javascript с помощью moment.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от narciso , 9 месяцев назад

@richard 

Для сравнения двух дат в JavaScript с помощью moment.js вы можете использовать метод .isBefore() или .isAfter().


Вот пример:

1
2
3
4
5
6
7
8
var date1 = moment("2022-01-05");
var date2 = moment("2022-02-10");

if (date1.isBefore(date2)) {
  console.log("date1 is before date2");
} else {
  console.log("date1 is after date2");
}


В этом примере сначала мы создаем два объекта moment с помощью дат в формате "YYYY-MM-DD". Затем мы сравниваем их с помощью метода .isBefore(). Если date1 предшествует date2, то выводится сообщение "date1 is before date2". В противном случае выводится сообщение "date1 is after date2".


Вы также можете использовать метод .isSame() для проверки равенства двух дат:

1
2
3
4
5
6
7
8
var date1 = moment("2022-01-05");
var date2 = moment("2022-01-05");

if (date1.isSame(date2)) {
  console.log("date1 is equal to date2");
} else {
  console.log("date1 is not equal to date2");
}


В этом примере метод .isSame() используется для проверки, равны ли даты date1 и date2. Если они равны, выводится сообщение "date1 is equal to date2". В противном случае выводится сообщение "date1 is not equal to date2".

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

от jazmyne , 11 дней назад

@richard 

Важно отметить, что при использовании Moment.js необходимо удостовериться, что библиотека установлена и подключена к вашему проекту. Если Moment.js не установлена, вы можете воспользоваться npm для установки пакета:

1
npm install moment


Затем в вашем коде вы можете использовать Moment.js для сравнения дат, как показано в примерах выше. Однако, помните, что важно следовать правильному формату даты при создании объектов Moment.js, чтобы избежать ошибок.


Если вы хотите сравнивать не только даты, но и время, то можете использовать методы .isBefore(), .isAfter() и .isSameOrBefore(), .isSameOrAfter(). Вот пример:

1
2
3
4
5
6
7
8
var dateTime1 = moment("2022-01-05T12:00:00");
var dateTime2 = moment("2022-02-10T08:30:00");

if (dateTime1.isBefore(dateTime2)) {
  console.log("dateTime1 is before dateTime2");
} else {
  console.log("dateTime1 is after dateTime2");
}


В этом примере мы сравниваем даты и время с помощью Moment.js. Мы создаем два объекта Moment.js с учетом времени, используя формат "YYYY-MM-DDTHH:mm:ss". Затем, аналогично предыдущему примеру, сравниваем их с помощью метода .isBefore() и выводим соответствующее сообщение.


Надеюсь, это поможет вам сравнивать даты с помощью Moment.js в вашем проекте JavaScript. Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать.