Tehnografi.com - Технологические новости, обзоры и советы

Работа с датами Использование date-fns в JavaScript

Примечание. Следующая статья поможет вам: Работа с датами Использование date-fns в JavaScript

Работа с датами — непростая задача. Но пакет date-fns упрощает работу с датами в JavaScript.

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

Установка пакета

Нам нужно настроить проект с помощью npm для работы со сторонним пакетом. Давайте быстро рассмотрим шаги для завершения нашей настройки.

Я предполагаю, что у вас установлен NodeJS или IDE, чтобы попрактиковаться.

  • Перейдите в нужный каталог, в котором вы хотите работать.
  • Запустите команду npm init, чтобы инициализировать проект.
  • Ответьте на все вопросы в зависимости от ваших предпочтений.
  • Теперь установите date-fns, используя приведенную ниже команду.
  • npm установить дату-fns

  • Создайте файл с именем dateFunctions.js
  • Теперь мы готовы перейти к пакету date-fns. Давайте пойдем и изучим некоторые основные методы из пакета.

    является действительным

    Все даты недействительны.

    Например, нет такой даты, как 2021-02-30. Как мы можем проверить, действительна ли дата или нет?

    Метод isValid из пакета date-fns поможет нам определить, действительна ли данная дата или нет.

    Проверьте, нормально ли работает следующий код с правильностью дат.

    const { isValid } = require(“date-fns”); console.log(isValid(новая дата(“2021, 02, 30”)));

    Если вы выполните приведенный выше код, вы обнаружите, что 30 февраля 2021 года является действительным. Ой! Это не.

    Почему это происходит?

    JavaScript преобразует дополнительный день февраля в 1 марта 2021 года, что является допустимой датой. Чтобы подтвердить это, выведите в консоль новую дату (“2021, 02, 30”).

    console.log(новая дата(“2021, 02, 30”));

    Пакет date-fns предоставляет метод parse для решения этой проблемы. Метод parse анализирует дату, которую вы указали, и возвращает точные результаты.

    Взгляните на приведенный ниже код.

    const { isValid, parse } = require(“date-fns”); const invalidDate = parse(“30.02.2021”, “dd.MM.yyyy”, new Date()); const validDate = parse(“25.03.2021”, “dd.MM.yyyy”, new Date()); console.log(isValid(invalidDate)); console.log(isValid(validDate));

    формат

    Одним из основных способов использования при работе с датами является их форматирование по своему усмотрению. Форматируем даты в разных форматах, используя метод format из пакета date-fns.

    Отформатируйте дату как 23-01-1993, 1993-01-23 10:43:55, вторник, 23 января 1993 года и т. д.. Запустите следующий код, чтобы получить соответствующую дату в указанных форматах.

    const {format} = require(“date-fns”); console.log(format(new Date(), “dd-MM-yyyy”)); console.log(format(new Date(), “dd/MM/yyyy HH:mm:ss”)); console.log(формат(новая дата(), “PPPP”));

    Полный список форматов вы можете найти здесь.

    addDays

    Метод addDays используется для установки крайнего срока, который наступает через некоторое количество дней.

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

    Допустим, у вас день рождения через X дней, и вы заняты в эти дни. Вы можете не помнить день рождения в своем плотном графике. Вы можете просто использовать метод addDays, чтобы уведомить вас о дне рождения через X дней. Имейте код.

    const {format, addDays} = require(“date-fns”); const сегодня = новая дата(); // день рождения через 6 дней const Birthday = addDays(today, 6); console.log(format(сегодня, “PPPP”)); console.log(format(день рождения, “PPPP”));

    Аналогично методу addDays существуют и другие методы, такие как addHours, subHours, addMinutes, subMinutes, addSeconds, subSeconds, subDays, addWeeks, subWeeks, addYears, subYears и т. д. Вы можете легко догадаться о функциональности методов по их именам.

    Попробуйте их.

    форматРасстояние

    Написание кода для сравнения дат с нуля — кошмар. Почему мы вообще сравниваем даты?

    Есть много приложений, где вы видели сравнения дат. Если вы возьмете веб-сайты социальных сетей, там будет слоган с упоминанием 1 минуту назад, 12 часов назад, 1 день назад, и т.д.. Здесь мы используем сравнение даты от даты и времени публикации до текущей даты и времени.

    Метод formatDistance делает то же самое. Он возвращает разрыв между заданными двумя датами.

    Давайте напишем программу для определения вашего возраста.

    const { formatDistance } = require(“date-fns”); const Birthday = new Date(“1956, 01, 28”); const presentDay = новая дата(); console.log(`Возраст: ${formatDistance(presentDay, Birthday)}`);

    каждыйDayOfInterval

    Допустим, вам нужно найти имена и даты следующих X дней. Метод eachDayOfInterval помогает нам найти дни между начальной и конечной датами.

    Давайте узнаем ближайшие 30 дней с сегодняшнего дня.

    const { addDays, eachDayOfInterval, format } = require(“date-fns”); const presentDay = новая дата(); const after30Days = addDays (presentDay, 30); const _30Days = eachDayOfInterval({ start: presentDay, end: after30Days }); _30Days.forEach((день) => { console.log(format(день, “PPPP”)); });

    макс и мин

    Методы max и min находят максимальную и минимальную даты среди заданных дат соответственно. Методы в date-fns очень знакомы и легко догадаться о функциональности этих методов. Давайте напишем код.

    const { мин, макс } = требуют (“дата-fns”); const _1 = новая дата (“1990, 04, 22”); const _2 = новая дата (“1990, 04, 23”); const _3 = новая дата (“1990, 04, 24”); const _4 = новая дата (“1990, 04, 25”); console.log(`Макс.: ${макс.([_1, _2, _3, _4])}`); console.log(`Мин: ${мин([_1, _2, _3, _4])}`);

    равно

    Вы можете легко догадаться о функциональности метода isEqual. Как вы думаете, метод isEqual используется для проверки того, равны ли две даты или нет. См. пример кода ниже.

    const { isEqual } = require(“date-fns”); const _1 = новая дата(); const _2 = новая дата(); const _3 = новая дата (“1900, 03, 22”); console.log(равно(_1, _2)); console.log(равно(_2, _3)); console.log(равно(_3, _1));

    Вывод

    Если говорить о каждом методе в пакете date-fns, то на его выполнение уходят дни. Лучший способ изучить любой пакет — ознакомиться с его основными методами, а затем прочитать документацию для получения дополнительной информации. Примените тот же сценарий для пакета date-fns.

    Вы изучили основные методы в этом уроке. Найдите конкретное использование в документации или подумайте о том, чтобы пройти онлайн-курсы, такие как JavaScript, jQuery и JSON.

    Удачного кодирования 👨‍💻