Habrpavel
@Habrpavel
Frontend-developer

Какую функцию лучше использовать?

// проверка двух дат на число - вариант первый
function sameDay(d1, d2) {
return (
d1.getFullYear() === d2.getFullYear() &&
d1.getMonth() === d2.getMonth() &&
d1.getDate() === d2.getDate()
);
}

// вариант второй
d1.setHours(0, 0, 0, 0) === d2.setHours(0, 0, 0, 0)
  • Вопрос задан
  • 71 просмотр
Решения вопроса 2
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
- Вариант 1 (метод sameDay): Этот метод сравнивает год, месяц и дату двух объектов Date. Этот метод более надежен, поскольку он не изменяет исходные объекты Date. Он просто сравнивает их. Если Вы не хотите изменять исходные даты, это лучший выбор.
- Вариант 2 (setHours): Этот метод устанавливает время обоих объектов Date на полночь (0 часов, 0 минут, 0 секунд, 0 миллисекунд) и затем сравнивает их. Это может быть проблемой, если Вы в дальнейшем планируете использовать исходные даты, так как метод setHours меняет исходные объекты. Важно помнить, что объекты Date в JavaScript передаются по ссылке, а не по значению. Поэтому, если вы используете этот метод и сохраняете исходные даты, Вам нужно будет клонировать их перед вызовом setHours.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Второй вариант изменяет дату. Это плохо, если она где-то еще используется.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы