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:
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.const dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);
- O DateTime.fromJSDate() método:
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.const agora = novoData();
const dt = DateTime.fromJSDate (agora); - O DateTime.fromObject() método:
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.const dt = DateTime.fromObject({
ano: 2023,
mês: 1,
dia: 1,
hora: 0,
minuto:0,
segundo: 0,
milissegundo: 0
}); - Usando o DateTime.now() método:
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.const dt = DateTime.now();
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.