Deixe a biblioteca Luxon carregar a carga de manipulação de data e hora para seus aplicativos JavaScript.

Você pode usar JavaScript para criar aplicativos da Web dinâmicos e aplicativos executados em outros ambientes, incluindo a área de trabalho. Muitos aplicativos precisam lidar com datas e horários, desde agendadores e aplicativos de bate-papo até aplicativos de reserva de eventos.

Luxon oferece uma alternativa superior ao JavaScript nativo Data objeto, com maneiras mais amigáveis ​​e confiáveis ​​de lidar com operações de data e hora.

Instalando o Luxon

Você pode adicionar Luxon ao seu aplicativo JavaScript de várias maneiras, dependendo do seu método preferido. Os dois métodos mais comuns são usar npm para instalar a biblioteca ou usar um link CDN para incluir a biblioteca em seu aplicativo.

Para instalar o Luxon em um projeto Node.js, execute o seguinte comando npm em seu terminal:

npm install --save luxon

Use a biblioteca em seu arquivo JavaScript exigindo luxon:

const {DataHora} = exigir("luxão");

Este código usa desestruturação de objetos importar o Data hora class da biblioteca Luxon e crie uma nova variável Data hora fazendo referência a essa classe.

Isso permite que você crie instâncias de datas e horas e execute operações como formatação de datas para exibição.

Como alternativa, você pode incluir o Luxon em seu aplicativo usando um ligação CDN. Para fazer isso, adicione a seguinte marcação ao seu arquivo HTML:

<roteiroorigem=" https://cdn.jsdelivr.net/npm/[email protected]/build/global/luxon.min.js">roteiro>

Usando essa abordagem, você pode executar scripts usando Luxon no corpo do seu HTML.

Características do Luxon

O Luxon fornece muitos recursos, tornando-o um pacote valioso para lidar com datas e horas em aplicativos JavaScript.

Manipulação abrangente de data e hora

Luxon oferece vários métodos para criar, manipular e recuperar datas e horas. O Luxon simplifica tarefas como adicionar ou subtrair durações, definir componentes específicos de data/hora e realizar cálculos de tempo relativo.

Formatação e localização

As opções de formatação do Luxon permitem que você exiba datas e horas em vários formatos. O Luxon oferece suporte a diferentes padrões de formato e permite definir datas e horários de acordo com outros idiomas.

Suporte de fuso horário

Com o Luxon, você pode trabalhar com eficiência com datas e horários em diferentes fusos horários. Luxon fornece métodos para definir e converter entre fusos horários.

Design imutável

Luxon segue um padrão de design imutável, garantindo que Data hora objetos são imutáveis. Essa abordagem de design fornece um comportamento previsível e consistente ao trabalhar com datas e horas.

Extensa documentação da API

A documentação da API do Luxon é muito detalhada, facilitando a exploração e a compreensão dos métodos, opções e funcionalidades disponíveis.

A classe DateTime em Luxon

O Data hora classe em Luxon representa uma determinada data e hora. Ele oferece métodos de classe e instância que permitem realizar várias tarefas. Essas tarefas incluem criar, analisar, recuperar, modificar e formatar datas e horários.

Aqui estão algumas das diferentes maneiras de criar uma nova instância da classe Date Time no Luxon:

  • O DateTime.local() método:
    const dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);
    Este código cria uma nova instância DateTime usando o DateTime.local() método. O método usa sete argumentos que representam os valores de ano, mês, dia, hora, minuto, segundo e milissegundo da data e hora que você deseja criar.
  • O DateTime.fromJSDate() método:
    const agora = novoData();
    const dt = DateTime.fromJSDate (agora);
    O código cria um novo JavaScript nativo Data instância e passa para o DateTime.fromJSDate() método. Esse método retorna um objeto DateTime representando a mesma data e hora.
  • O DateTime.fromObject() método:
    const dt = DateTime.fromObject({
    ano: 2023,
    mês: 1,
    dia: 1,
    hora: 0,
    minuto:0,
    segundo: 0,
    milissegundo: 0
    });
    Este bloco de código mostra como criar uma nova instância DateTime usando o DateTime.fromObject() método. O método usa um objeto com propriedades que representam os valores de ano, mês, dia, hora, minuto, segundo e milissegundo da data e hora que você deseja criar.
  • Usando o DateTime.now() método:
    const dt = DateTime.now();
    Este bloco de código mostra como criar uma nova instância Date Time usando o DateTime.now() método. O método retorna uma nova instância DateTime representando a data e hora atuais no fuso horário local.

Formatando Objetos DateTime para Strings

Luxon simplifica a formatação de Data hora objetos em strings representando datas e horas específicas. Você pode usar Luxon para formatar datas e horas em vários métodos.

ISO 8601

O formato ISO 8601 é amplamente usado para representação padronizada de data e hora. Para formatar um Data hora objeto como uma string ISO 8601, use o toISO() método:

const agora = DateTime.local();
console.log (agora.toISO()); // 2023-05-21T15:20:07.936+01:00

Formatos legíveis por humanos

Luxon oferece suporte a formatos legíveis por humanos que você pode personalizar para idiomas locais. Você pode formatar um Data hora objeto a uma string legível por humanos com o toLocaleString() método:

const agora = DateTime.local();
console.log (agora.toLocaleString()); // 5/21/2023

Formatação baseada em token

A formatação baseada em token permite formatar data e hora em strings personalizadas usando espaços reservados chamados tokens. Para formatar um Data hora objeto usando tokens, use o formatar() método:

const agora = DateTime.local();
console.log (agora.toFormat("aaaa-MM-dd HH: mm: ss")); //2023-05-21 15:16:57

No exemplo acima, a string de formato aaaa-MM-dd HH: mm: ss representa o formato de saída desejado. os tokens aaaa, MILÍMETROS, dd, HH, milímetros, e ss correspondem ao ano, mês, dia, hora, minuto e segundo do Data hora objeto, respectivamente.

O Luxon permite que você execute uma ampla variedade de representações de data e hora, fornecendo um extenso conjunto de tokens.

Analisando e validando datas e horários em Luxon

Luxon fornece métodos robustos para analisar e validar datas e horas. Esses recursos são úteis para tarefas como validar a entrada do usuário ou converter representações de strings de datas e horas em Data hora objetos.

O método fromFormat()

O fromFormat() O método permite que você analise uma representação de string de uma data e hora e a converta em um Data hora objeto. Leva dois argumentos, a string de entrada e uma string de formato especificando o formato de entrada.

Por exemplo:

DateTime.fromFormat("25 de maio de 2023", "LLLL dd aaaa")

Validando datas e horas com o método isValid

O é válido método verifica se um Data hora O objeto representa uma data e hora válidas. Ele retorna verdadeiro se o objeto for válido e falso de outra forma.

Igual a:

const invalidDate = DateTime.fromObject({ ano: 2022, mês: 2, dia: 29 });
console.log (invalidDate.isValid); // falso

const validDate = DateTime.fromObject({ ano: 2022, mês: 2, dia: 28 });
console.log (validDate.isValid); // verdadeiro

No exemplo, o primeiro Data hora O objeto representa uma data inválida porque 29 de fevereiro de 2022 não é válido. O segundo Data hora O objeto representa uma data válida de 28 de fevereiro de 2022.

Os recursos de análise e validação no Luxon ajudam você a lidar com datas e horas com precisão, validar entradas e fornecer representações confiáveis ​​de dados de data e hora.

Alternativas a Luxon

Você aprendeu como criar, formatar e validar instâncias de data e hora com o Luxon. Essas dicas irão ajudá-lo a criar aplicativos da web que exijam tratamento de data e hora.

Você também pode utilizar outros pacotes JavaScript para obter a manipulação de data e hora em seus aplicativos da web, incluindo Day.js e Date.fns. Esses pacotes têm suas vantagens e desvantagens e você deve basear sua preferência em suas necessidades específicas.