Ответ 1
Вы можете использовать toDateString
:
var d = new Date()
var bool = (d.toDateString() === otherDate.toDateString());
У меня есть объект даты в JavaScript, и я хочу выяснить, установлена ли эта дата сегодня. Каков самый быстрый способ сделать это?
Моя забота заключалась в сравнении объекта даты, так как каждый может иметь другое время, чем другое, но любое время на сегодняшний день должно возвращать true
.
Вы можете использовать toDateString
:
var d = new Date()
var bool = (d.toDateString() === otherDate.toDateString());
Ответы, основанные на toDateString()
, будут работать, я думаю, но я лично избегал бы их, поскольку они в основном задают неправильный вопрос.
Вот простая реализация:
function areSameDate(d1, d2) {
return d1.getFullYear() == d2.getFullYear()
&& d1.getMonth() == d2.getMonth()
&& d1.getDate() == d2.getDate();
}
MDN имеет достойный обзор API объекта JS Date, если это не совсем то, что вам нужно.
var someDate = new Date("6 Dec 2011").toDateString();
var today = new Date().toDateString();
var datesAreSame = (today === someDate);
Если оба являются объектами Date(), вы можете использовать это для "форматирования" даты таким образом, чтобы она сравнивалась только по году/месяцу/дню: if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0));
Почти идентичный вопрос: Как проверить, соответствует ли входная дата сегодняшней дате?
Я предпочитаю использовать момент lib
moment('dd/mm/yyyy').isSame(Date.now(), 'day');