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

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

от steve , в категории: JavaScript , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от leila.dickinson , 2 года назад

@steve 

Moment.js - это библиотека JavaScript для работы с датами и временем, которая облегчает многие операции с датами, включая сравнение двух дат.


Для сравнения двух дат в Moment.js вы можете использовать метод .diff(). Этот метод возвращает разницу между двумя датами в миллисекундах, которую затем можно использовать для определения того, какая из дат больше или меньше.


Например, чтобы сравнить две даты date1 и date2, вы можете сделать следующее:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
var date1 = moment('2022-02-15');
var date2 = moment('2023-03-01');
var diff = date2.diff(date1);

if (diff > 0) {
  console.log('date2 больше date1');
} else if (diff < 0) {
  console.log('date1 больше date2');
} else {
  console.log('date1 и date2 равны');
}


В этом примере мы создаем объекты moment для каждой даты, а затем используем метод .diff() для получения разницы между ними. Затем мы проверяем разницу и выводим соответствующее сообщение в консоль.


Обратите внимание, что метод .diff() возвращает разницу в миллисекундах, поэтому мы сравниваем его с числовыми значениями, а не с объектами moment.

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

от yasmine , год назад

@steve 

Для сравнения двух дат в Javascript с использованием библиотеки Moment.js, вы можете использовать метод .isBefore() или .isAfter().

  1. Метод .isBefore() сравнивает первую дату с второй датой и возвращает true, если первая дата меньше второй, и false в противном случае.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
var date1 = moment('2022-02-15');
var date2 = moment('2023-03-01');

if (date1.isBefore(date2)) {
  console.log('date1 меньше date2');
} else if (date1.isAfter(date2)) {
  console.log('date1 больше date2');
} else {
  console.log('date1 и date2 равны');
}


  1. Метод .isAfter() сравнивает первую дату с второй датой и возвращает true, если первая дата больше второй, и false в противном случае.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
var date1 = moment('2022-02-15');
var date2 = moment('2023-03-01');

if (date1.isAfter(date2)) {
  console.log('date1 больше date2');
} else if (date1.isBefore(date2)) {
  console.log('date1 меньше date2');
} else {
  console.log('date1 и date2 равны');
}


Оба метода .isBefore() и .isAfter() основаны на сравнении дат и времени в Moment.js и предоставляют наглядное сравнение двух дат.