Оставете библиотеката Luxon да поеме натоварването на обработката на дата и час за вашите JavaScript приложения.

Можете да използвате JavaScript за изграждане на динамични уеб приложения и приложения, които се изпълняват в други среди, включително работния плот. Много приложения трябва да обработват дати и часове, от планировчици и приложения за чат до приложения за резервиране на събития.

Luxon предлага превъзходна алтернатива на родния JavaScript Дата обект, с по-удобни за потребителя, надеждни начини за обработка на операции с дата и час.

Инсталиране на Luxon

Можете да добавите Luxon към вашето JavaScript приложение по няколко начина, в зависимост от предпочитания от вас метод. Двата най-често срещани метода са да се използват npm за да инсталирате библиотеката или да използвате CDN връзка, за да включите библиотеката във вашето приложение.

За да инсталирате Luxon в проект Node.js, изпълнете следната команда npm във вашия терминал:

npm install --save luxon

Използвайте библиотеката във вашия JavaScript файл, като изисквате luxon:

instagram viewer
конст { Дата и час } = изискват("луксън");

Този код използва деструктуриране на обекта за импортиране на Време за среща клас от библиотеката Luxon и създайте нова променлива Време за среща препращайки към този клас.

Това ви позволява да създавате екземпляри на дати и часове и да извършвате операции като форматиране на дати за показване.

Като алтернатива можете да включите Luxon във вашето приложение, като използвате a CDN връзка. За да направите това, добавете следното маркиране към вашия HTML файл:

<сценарийsrc=" https://cdn.jsdelivr.net/npm/[email protected]/build/global/luxon.min.js">сценарий>

Използвайки този подход, можете да изпълнявате скриптове, като използвате Луксън в тялото на вашия HTML.

Характеристики на Luxon

Luxon предоставя много функции, което го прави ценен пакет за работа с дати и часове в JavaScript приложения.

Изчерпателна манипулация на дата и час

Luxon предлага различни методи за създаване, манипулиране и извличане на дати и часове. Luxon опростява задачи като добавяне или изваждане на продължителности, задаване на конкретни компоненти за дата/час и извършване на изчисления на относително време.

Форматиране и локализация

Опциите за форматиране на Luxon ви позволяват да показвате дати и часове в много формати. Luxon поддържа различни формати и ви позволява да задавате дати и часове според други езици.

Поддръжка на часова зона

С Luxon можете ефективно да работите с дати и часове в различни часови зони. Luxon предоставя методи за настройка и конвертиране между часовите зони.

Неизменен дизайн

Luxon следва неизменен модел на проектиране, гарантирайки това Време за среща обектите са неизменни. Този подход на проектиране осигурява предвидимо и последователно поведение при работа с дати и часове.

Обширна API документация

API документацията на Luxon е много подробна, което улеснява изследването и разбирането на наличните методи, опции и функционалност.

Класът DateTime в Luxon

The Време за среща клас в Luxon представлява определена дата и час. Той предлага както класови, така и инстанционни методи, които ви позволяват да изпълнявате различни задачи. Тези задачи включват създаване, анализиране, извличане, модифициране и форматиране на дати и часове.

Ето някои от различните начини за създаване на нов екземпляр на класа Date Time в Luxon:

  • The DateTime.local() метод:
    конст dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);
    Този код създава нов екземпляр на DateTime, използвайки DateTime.local() метод. Методът приема седем аргумента, представляващи стойностите на годината, месеца, деня, часа, минутата, секундата и милисекундата на датата и часа, които искате да създадете.
  • The DateTime.fromJSDate() метод:
    конст сега = новДата();
    конст dt = DateTime.fromJSDate (сега);
    Кодът създава нов нативна дата на JavaScript инстанция и го предава на DateTime.fromJSDate() метод. Този метод връща обект DateTime, представляващ същата дата и час.
  • The DateTime.fromObject() метод:
    конст dt = DateTime.fromObject({
    година: 2023,
    месец: 1,
    ден: 1,
    час: 0,
    минута:0,
    второ: 0,
    милисекунда: 0
    });
    Този кодов блок показва как да създадете нов екземпляр на DateTime с помощта на DateTime.fromObject() метод. Методът взема обект със свойства, представляващи стойностите на годината, месеца, деня, часа, минутата, секундата и милисекундата на датата и часа, които искате да създадете.
  • Използвайки DateTime.now() метод:
    конст dt = DateTime.now();
    Този кодов блок показва как да създадете нов екземпляр за дата и час с помощта на DateTime.now() метод. Методът връща нов екземпляр на DateTime, представляващ текущата дата и час в местната часова зона.

Форматиране на DateTime обекти в низове

Luxon опростява форматирането на Време за среща обекти в низове, представляващи конкретни дати и часове. Можете да използвате Luxon за форматиране на дати и часове по различни методи.

ISO 8601

Форматът ISO 8601 се използва широко за стандартизирано представяне на дата и час. За да форматирате a Време за среща обект като ISO 8601 низ, използвайте toISO() метод:

конст сега = DateTime.local();
конзола.log (now.toISO()); // 2023-05-21T15:20:07.936+01:00

Човешки четими формати

Luxon поддържа четими от човека формати, които можете да персонализирате за местните езици. Можете да форматирате a Време за среща обект към четим от човека низ с toLocaleString() метод:

конст сега = DateTime.local();
конзола.log (now.toLocaleString()); // 5/21/2023

Форматиране, базирано на токени

Базираното на токени форматиране ви позволява да форматирате дата и час в персонализирани низове, като използвате контейнери, наречени токени. За да форматирате a Време за среща обект, използващ жетони, използвайте toFormat() метод:

конст сега = DateTime.local();
конзола.log (now.toFormat("гггг-ММ-дд ЧЧ: мм: сс")); //2023-05-21 15:16:57

В примера по-горе форматиращият низ гггг-ММ-дд ЧЧ: мм: сс представлява желания изходен формат. Жетоните yyyy, ММ, дд, HH, мм, и ss съответстват на годината, месеца, деня, часа, минутата и секундата от Време за среща обект, респ.

Luxon ви позволява да извършвате широк набор от представяния на дата и час, като предоставя обширен набор от токени.

Разбор и валидиране на дати и часове в Luxon

Luxon предоставя стабилни методи за анализиране и валидиране на дати и часове. Тези функции са полезни за задачи като валидиране на потребителско въвеждане или преобразуване на низови представяния на дати и часове в Време за среща обекти.

Методът fromFormat().

The fromFormat() метод ви позволява да анализирате низово представяне на дата и час и го преобразува в a Време за среща обект. Необходими са два аргумента, входен низ и форматиращ низ, указващ входния формат.

Например:

DateTime.fromFormat(„25 май 2023 г.“, "LLLL дд гггг")

Валидиране на дати и часове с метода isValid

The е валиден методът проверява дали a Време за среща обектът представлява валидна дата и час. Връща се вярно ако обектът е валиден и невярно в противен случай.

Така:

конст invalidDate = DateTime.fromObject({ година: 2022, месец: 2, ден: 29 });
конзола.log (invalidDate.isValid); // невярно

конст validDate = DateTime.fromObject({ година: 2022, месец: 2, ден: 28 });
конзола.log (validDate.isValid); // вярно

В примера, първият Време за среща обектът представлява невалидна дата, тъй като 29 февруари 2022 г. не е валиден. Секундата Време за среща обектът представлява валидна дата 28 февруари 2022 г.

Функциите за разбор и валидиране в Luxon ви помагат да обработвате точно дати и часове, да валидирате входове и да предоставяте надеждни представяния на данните за дата и час.

Алтернативи на Luxon

Научихте как да създавате, форматирате и валидирате екземпляри за дата и час с Luxon. Тези съвети ще ви помогнат при изграждането на уеб приложения, които изискват обработка на дата и час.

Можете също така да използвате други JavaScript пакети, за да постигнете обработка на дата и час във вашите уеб приложения, включително Day.js и Date.fns. Тези пакети имат своите предимства и недостатъци и трябва да базирате предпочитанията си на вашите специфични нужди.