Как проверить дату на сегодня, вчера или завтра на JavaScript

Как проверить дату на сегодня, вчера или завтра на JavaScript

Работа с датами в JavaScript может быть трудной задачей для новичков. Одним из наиболее распространенных и часто используемых сценариев является проверка, является ли заданная дата сегодняшним днем, вчерашним днем или завтрашним днем. В этой статье мы рассмотрим несколько способов проверки даты на сегодня, вчера или завтра на JavaScript.

Использование объекта Date

JavaScript имеет встроенный объект Date, который позволяет работать с датами и временем. Чтобы создать новый объект Date, вы можете использовать следующий синтаксис:

const date = new Date();

По умолчанию объект Date создает текущую дату и время. Давайте рассмотрим, как мы можем использовать объект Date для проверки даты на сегодня, вчера или завтра.

Проверка на сегодня

Чтобы проверить, является ли заданная дата сегодняшним днем, мы можем сравнить дни, месяцы и годы между заданной датой и текущей датой, используя следующий код:

const date = new Date();
const someDate = new Date('2021-09-28');

if (
  date.getDate() === someDate.getDate() &&
  date.getMonth() === someDate.getMonth() &&
  date.getFullYear() === someDate.getFullYear()
) {
  console.log('Заданная дата является сегодняшним днем');
}

В этом коде мы создаем новый объект someDate, содержащий заданную дату. Затем мы сравниваем дни, месяцы и годы между заданной датой и текущей датой, используя методы getDate(), getMonth() и getFullYear() объекта Date.

Проверка на вчера

Чтобы проверить, является ли заданная дата вчерашним днем, мы можем вычесть один день из текущей даты, и затем сравнить дни, месяцы и годы между заданной датой и полученной датой. Мы можем использовать следующий код:

const date = new Date();
const someDate = new Date('2021-09-27');
const yesterday = new Date(date);

yesterday.setDate(date.getDate() - 1);

if (
  yesterday.getDate() === someDate.getDate() &&
  yesterday.getMonth() === someDate.getMonth() &&
  yesterday.getFullYear() === someDate.getFullYear()
) {
  console.log('Заданная дата является вчерашним днем');
}

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

Читайте так же  Как выбрать правильное имя файла для Blob на JavaScript: пошаговое руководство

Проверка на завтра

Чтобы проверить, является ли заданная дата завтрашним днем, мы можем добавить один день к текущей дате, и затем сравнить дни, месяцы и годы между заданной датой и полученной датой. Мы можем использовать следующий код:

const date = new Date();
const someDate = new Date('2021-09-29');
const tomorrow = new Date(date);

tomorrow.setDate(date.getDate() + 1);

if (
  tomorrow.getDate() === someDate.getDate() &&
  tomorrow.getMonth() === someDate.getMonth() &&
  tomorrow.getFullYear() === someDate.getFullYear()
) {
  console.log('Заданная дата является завтрашним днем');
}

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

Использование библиотеки date-fns

Date-fns – это популярная библиотека JavaScript для работы с датами и временем. Она предлагает множество функций и методов для работы с датами, в том числе для проверки даты на сегодня, вчера или завтра.

Проверка на сегодня

Чтобы проверить, является ли заданная дата сегодняшним днем, мы можем использовать функцию isToday() библиотеки date-fns. Например:

const isToday = require('date-fns/isToday');
const someDate = new Date('2021-09-28');

if (isToday(someDate)) {
  console.log('Заданная дата является сегодняшним днем');
}

В этом коде мы импортируем функцию isToday() из библиотеки date-fns, создаем новый объект someDate с заданной датой и затем проверяем, является ли дата сегодняшним днем с помощью функции isToday().

Проверка на вчера

Чтобы проверить, является ли заданная дата вчерашним днем, мы можем использовать функцию isYesterday() библиотеки date-fns. Например:

const isYesterday = require('date-fns/isYesterday');
const someDate = new Date('2021-09-27');

if (isYesterday(someDate)) {
  console.log('Заданная дата является вчерашним днем');
}

В этом коде мы импортируем функцию isYesterday() из библиотеки date-fns, создаем новый объект someDate с заданной датой и затем проверяем, является ли дата вчерашним днем с помощью функции isYesterday().

Проверка на завтра

Чтобы проверить, является ли заданная дата завтрашним днем, мы можем использовать функцию isTomorrow() библиотеки date-fns. Например:

const isTomorrow = require('date-fns/isTomorrow');
const someDate = new Date('2021-09-29');

if (isTomorrow(someDate)) {
  console.log('Заданная дата является завтрашним днем');
}

В этом коде мы импортируем функцию isTomorrow() из библиотеки date-fns, создаем новый объект someDate с заданной датой и затем проверяем, является ли дата завтрашним днем с помощью функции isTomorrow().

Итог

Проверка даты на сегодня, вчера или завтра может помочь улучшить пользовательский опыт вашего приложения. В этой статье мы рассмотрели несколько способов проверки даты на сегодня, вчера или завтра на JavaScript. Вы можете использовать встроенный объект Date или библиотеку date-fns для создания кода, который будет работать с датами и временем. Надеемся, этот материал поможет вам создать более удобное и функциональное приложение.

Читайте так же  Как добавить минуты к дате на JavaScript: эффективные методы и примеры кода