Рад са датумима Коришћење дате-фнс у ЈаваСцрипт-у

Рад са датумима није лак задатак. Али, пакет дате-фнс олакшава рад са датумима у ЈаваСцрипт-у.

Хајде да дубоко заронимо у пакет дате-фнс да би нам живот био лакши него раније. Пакет дате-фнс је лаган.

Инсталирање пакета

Морамо да подесимо пројекат са нпм-ом да ради са пакетом треће стране. Хајде да брзо видимо кораке да завршимо наше подешавање.

Претпостављам да имате инсталиран НодеЈС или ИДЕ да ово вежбате.

  • Идите до жељеног директоријума у ​​којем желите да радите.
  • Покрените команду нпм инит да бисте иницијализовали пројекат.
  • Одговорите на сва питања на основу ваших жеља.
  • Сада инсталирајте дате-фнс користећи доњу команду
npm install date-fns
  • Направите датотеку под називом датеФунцтионс.јс

Сада смо спремни да ускочимо у пакет дате-фнс. Хајде да научимо неке основне методе из пакета.

је важећа

Сви датуми нису важећи.

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

Метод исВалид из дате-фнс пакета ће нам помоћи да утврдимо да ли је дати датум важећи или не.

Проверите да ли следећи код добро функционише или не са валидношћу датума.

const { isValid } = require("date-fns");

console.log(isValid(new Date("2021, 02, 30")));

Ако извршите горњи код, видећете да је 30. фебруар 2021. важећи. Ох! Није.

Зашто се то дешава?

ЈаваСцрипт конвертује додатни дан фебруара у 1. март 2021, што је важећи датум. Да бисте то потврдили, одштампајте нови датум („2021, 02, 30“) на конзоли.

console.log(new Date("2021, 02, 30"));

Пакет дате-фнс обезбеђује метод који се зове рашчлањивање да би се решио овај проблем. Метода парсе анализира датум који сте дали и враћа тачне резултате.

  Играјте Бога док насељавате Земљу животињама [Paid]

Погледајте код испод.

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));

формату

Једна од основних употреба приликом рада са датумима је њихово форматирање како желимо. Датуме форматирамо у различитим форматима користећи метод форматирања из пакета дате-фнс.

Форматирајте датум као 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(format(new Date(), "PPPP"));

Можете пронаћи комплетну листу формата овде.

аддДаис

Метода аддДаис се користи за постављање рока који је након одређеног броја дана.

Једноставно, можемо додати дане било ком датуму да бисмо добили датум дана након неколико дана. Има много апликација.

Рецимо да имате рођендан после Кс дана и да сте заузети тим данима. Можда се не сећате рођендана у свом заузетом распореду. Можете једноставно користити метод аддДаис да вас обавести о рођендану након Кс дана. Имајте код.

const { format, addDays } = require("date-fns");

const today = new Date();

// birthday after 6 days
const birthday = addDays(today, 6);

console.log(format(today, "PPPP"));
console.log(format(birthday, "PPPP"));

Слично методи аддДаис постоје и друге методе као што су аддХоурс, субХоурс, аддМинутес, субМинутес, аддСецондс, субСецондс, субДаис, аддВеекс, субВеекс, аддИеарс, субИеарс, итд., Можете лако да погодите функционалност метода по њиховим именима.

Испробајте их.

форматДистанце

Писање кода за упоређивање датума од нуле је ноћна мора. Зашто уопште поредимо датуме?

Постоји много апликација у којима сте видели поређења датума. Ако узмете веб-сајтове друштвених медија, појавиће се слоган који помиње пре 1 минут, 12 сати, пре 1 дан, итд., Овде користимо поређење датума од датума и времена објаве до садашњег датума и времена.

  Која футрола за тастатуру за иПад је права за вас?

Метод форматДистанце ради исту ствар. Враћа размак између дата два датума.

Хајде да напишемо програм да пронађемо твоје године.

const { formatDistance } = require("date-fns");

const birthday = new Date("1956, 01, 28");
const presentDay = new Date();

console.log(`Age: ${formatDistance(presentDay, birthday)}`);

евериДаиОфИнтервал

Рецимо да морате да пронађете имена и датуме наредних Кс дана. Метода евериДаиОфИнтервал нам помаже да пронађемо дане између почетног и крајњег датума.

Хајде да сазнамо наредних 30 дана од данас.

const { addDays, eachDayOfInterval, format } = require("date-fns");

const presentDay = new Date();
const after30Days = addDays(presentDay, 30);

const _30Days = eachDayOfInterval({ start: presentDay, end: after30Days });

_30Days.forEach((day) => {
   console.log(format(day, "PPPP"));
});

мак и мин

Методе мак и мин проналазе максимални и минимални датум међу датим датумима. Методе у дате-фнс су веома познате и лако је погодити функционалност тих метода. Хајде да напишемо неки код.

const { min, max } = require("date-fns");

const _1 = new Date("1990, 04, 22");
const _2 = new Date("1990, 04, 23");
const _3 = new Date("1990, 04, 24");
const _4 = new Date("1990, 04, 25");

console.log(`Max: ${max([_1, _2, _3, _4])}`);
console.log(`Min: ${min([_1, _2, _3, _4])}`);

једнак

Можете лако да погодите функционалност методе исЕкуал. Као што мислите, метода исЕкуал се користи за проверу да ли су два датума једнака или не. Погледајте пример кода испод.

const { isEqual } = require("date-fns");

const _1 = new Date();
const _2 = new Date();
const _3 = new Date("1900, 03, 22");

console.log(isEqual(_1, _2));
console.log(isEqual(_2, _3));
console.log(isEqual(_3, _1));

Закључак

Ако говоримо о свакој методи у пакету дате-фнс, онда су потребни дани да се заврши. Најбољи начин да научите било који пакет је да се упознате са основним методама из њега, а затим прочитате документацију за додатне информације. Примените исти сценарио и за пакет дате-фнс.

  13 професионалних шаблона профила компаније за упечатљиве утиске

Научили сте основне методе у овом водичу. Претражите одређену употребу у документацију или размислите о похађању онлајн курсева као нпр ЈаваСцрипт, јКуери и ЈСОН.

Срећно кодирање 👨‍💻