Как сравнить только дату в moment.js

Я новичок в moment.js. У меня есть объект даты, и у него есть некоторое время, связанное с ним. Я просто хочу проверить, больше ли эта дата или равна сегодняшней дате, , исключая время сравнения.

 var dateToCompare = 2015-04-06T18:30:00.000Z

Я просто хочу проверить, равна ли dateToCompare или превышает сегодняшнюю дату. Я проверил isSame момента .js, но он, кажется, принимает строку и только часть даты. Но я не хочу конвертировать свою дату в строку или манипулировать ею дальше. Потому что я обеспокоен тем, что javascript может сделать что-то неожиданное при преобразовании этой даты в строку (например, добавление смещения или dst и т.д.), Или, может быть, я ошибаюсь.

Образец isSame() из docs

moment('2010-10-20').isSame('2010-10-20');

Также я ищу что-то вроде isSame() и isAfter() вместе как один оператор.

Мне нужно сравнить только с помощью параметра moment.js. Пожалуйста, не предлагайте простой сопоставление дат javascript.

Ответ 1

Документы довольно четкие, которые вы передаете во втором параметре, чтобы указать степень детализации.

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

moment('2010-10-20').isAfter('2010-01-01', 'year'); // false
moment('2010-10-20').isAfter('2009-12-31', 'year'); // true

Поскольку второй параметр определяет точность, а не только одно значение для проверки, использование дня проверяет год, месяц и день.

В вашем случае вы передадите 'day' в качестве второго параметра.

Ответ 2

Между тем вы можете использовать метод isSameOrAfter:

moment('2010-10-20').isSameOrAfter('2010-10-20', 'day');

Ответ 3

В моем случае я сделал следующий код для сравнения 2 даты, может это поможет вам...

var date1 = "2010-10-20";
var date2 = "2010-10-20";
var time1 = moment(date1).format('YYYY-MM-DD');
var time2 = moment(date2).format('YYYY-MM-DD');
if(time2 > time1){
	console.log('date2 is Greter than date1');
}else if(time2 > time1){
	console.log('date2 is Less than date1');
}else{
	console.log('Both date are same');
}
<script src="https://momentjs.com/downloads/moment.js"></script>