Lascia che la libreria Luxon sopporti il ​​carico di gestione di data e ora per le tue app JavaScript.

Puoi utilizzare JavaScript per creare applicazioni Web dinamiche e applicazioni che vengono eseguite in altri ambienti, incluso il desktop. Molte app devono gestire date e orari, dalle applicazioni di pianificazione e chat alle app per la prenotazione di eventi.

Luxon offre un'alternativa superiore al JavaScript nativo Data oggetto, con modi più intuitivi e affidabili per gestire le operazioni di data e ora.

Installazione di Luxon

Puoi aggiungere Luxon alla tua app JavaScript in diversi modi, a seconda del metodo che preferisci. I due metodi più comuni sono da usare npm per installare la libreria o per utilizzare un collegamento CDN per includere la libreria nella tua applicazione.

Per installare Luxon in un progetto Node.js, esegui il seguente comando npm nel tuo terminale:

npm install --save luxon

Usa la libreria nel tuo file JavaScript richiedendo a luxon:

cost {DataOra} = richiedere("luxone");
instagram viewer

Questo codice utilizza destrutturazione dell'oggetto per importare il file Appuntamento class dalla libreria Luxon e creare una nuova variabile Appuntamento riferimento a quella classe.

Ciò consente di creare istanze di date e orari ed eseguire operazioni come la formattazione delle date per la visualizzazione.

In alternativa, puoi includere Luxon nella tua applicazione utilizzando a Collegamento CDN. Per fare ciò, aggiungi il seguente markup al tuo file HTML:

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

Usando questo approccio, puoi eseguire script usando Luxon nel corpo del codice HTML.

Caratteristiche di Luxon

Luxon offre molte funzionalità, rendendolo un pacchetto prezioso per la gestione di date e orari nelle applicazioni JavaScript.

Manipolazione completa di data e ora

Luxon offre vari metodi per creare, manipolare e recuperare date e orari. Luxon semplifica attività come l'aggiunta o la sottrazione di durate, l'impostazione di componenti di data/ora specifici e l'esecuzione di calcoli relativi all'ora.

Formattazione e localizzazione

Le opzioni di formattazione di Luxon ti consentono di visualizzare date e orari in molti formati. Luxon supporta diversi modelli di formato e ti consente di impostare date e orari in base ad altre lingue.

Supporto del fuso orario

Con Luxon, puoi lavorare in modo efficiente con date e orari in diversi fusi orari. Luxon fornisce metodi per impostare e convertire tra fusi orari.

Disegno immutabile

Luxon segue un modello di progettazione immutabile, garantendo questo Appuntamento gli oggetti sono immutabili. Questo approccio di progettazione fornisce un comportamento prevedibile e coerente quando si lavora con date e orari.

Ampia documentazione API

La documentazione API di Luxon è molto dettagliata, facilitando l'esplorazione e la comprensione dei metodi, delle opzioni e delle funzionalità disponibili.

La classe DateTime in Luxon

IL Appuntamento la classe in Luxon rappresenta una data e un'ora particolari. Offre sia metodi di classe che di istanza che ti consentono di svolgere varie attività. Queste attività includono la creazione, l'analisi, il recupero, la modifica e la formattazione di date e orari.

Ecco alcuni dei diversi modi per creare una nuova istanza della classe Date Time in Luxon:

  • IL DataOra.local() metodo:
    cost dt = DataOra.local(2023, 5, 21, 1, 22, 37, 845);
    Questo codice crea una nuova istanza di DateTime utilizzando il DataOra.local() metodo. Il metodo accetta sette argomenti che rappresentano i valori di anno, mese, giorno, ora, minuto, secondo e millisecondo della data e dell'ora che si desidera creare.
  • IL DateTime.fromJSDate() metodo:
    cost ora = nuovoData();
    cost dt = DateTime.fromJSDate (ora);
    Il codice crea un nuovo Data JavaScript nativa istanza e lo passa al DateTime.fromJSDate() metodo. Tale metodo restituisce un oggetto DateTime che rappresenta la stessa data e ora.
  • IL DataOra.daOggetto() metodo:
    cost dt = DateTime.fromObject({
    anno: 2023,
    mese: 1,
    giorno: 1,
    ora: 0,
    minuto:0,
    secondo: 0,
    millisecondo: 0
    });
    Questo blocco di codice mostra come creare una nuova istanza di DateTime utilizzando il DataOra.daOggetto() metodo. Il metodo accetta un oggetto con proprietà che rappresentano i valori di anno, mese, giorno, ora, minuto, secondo e millisecondo della data e dell'ora che si desidera creare.
  • Usando il DataOra.ora() metodo:
    cost dt = DataOra.ora();
    Questo blocco di codice mostra come creare una nuova istanza di data e ora utilizzando il file DataOra.ora() metodo. Il metodo restituisce una nuova istanza di DateTime che rappresenta la data e l'ora correnti nel fuso orario locale.

Formattazione di oggetti DateTime in stringhe

Luxon semplifica la formattazione di Appuntamento oggetti in stringhe che rappresentano date e orari specifici. È possibile utilizzare Luxon per formattare date e orari in vari modi.

ISO 8601

Il formato ISO 8601 è ampiamente utilizzato per la rappresentazione standardizzata di data e ora. Per formattare un Appuntamento oggetto come una stringa ISO 8601, utilizzare l'estensione aISO() metodo:

cost ora = DateTime.local();
consolare.log (ora.toISO()); // 21-05-2023T15:20:07.936+01:00

Formati leggibili dall'uomo

Luxon supporta formati leggibili dall'uomo che puoi personalizzare per le lingue locali. Puoi formattare un file Appuntamento oggetto a una stringa leggibile dall'uomo con il toLocaleString() metodo:

cost ora = DateTime.local();
consolare.log (ora.toLocaleString()); // 5/21/2023

Formattazione basata su token

La formattazione basata su token consente di formattare la data e l'ora in stringhe personalizzate utilizzando segnaposto chiamati token. Per formattare un Appuntamento oggetto utilizzando i token, utilizzare il toFormat() metodo:

cost ora = DateTime.local();
consolare.log (ora.toFormat("aaaa-MM-gg HH: mm: ss")); //2023-05-21 15:16:57

Nell'esempio precedente, la stringa di formato aaaa-MM-gg HH: mm: ss rappresenta il formato di output desiderato. I gettoni aaaa, MM, gg, HH, mm, E ss corrispondono all'anno, mese, giorno, ora, minuto e secondo del Appuntamento oggetto, rispettivamente.

Luxon consente di eseguire un'ampia gamma di rappresentazioni di data e ora fornendo un ampio set di token.

Analisi e convalida di date e orari in Luxon

Luxon fornisce metodi affidabili per l'analisi e la convalida di date e orari. Queste funzionalità sono utili per attività come la convalida dell'input dell'utente o la conversione di rappresentazioni di stringhe di date e orari in Appuntamento oggetti.

Il metodo fromFormat()

IL daFormato() Il metodo consente di analizzare una rappresentazione di stringa di una data e un'ora e la converte in a Appuntamento oggetto. Accetta due argomenti, la stringa di input e una stringa di formato che specifica il formato di input.

Per esempio:

DateTime.fromFormat("25 maggio 2023", "LLLL gg aaaa")

Convalida di date e orari con il metodo isValid

IL è valido metodo controlla se a Appuntamento oggetto rappresenta una data e un'ora valide. Ritorna VERO se l'oggetto è valido e falso Altrimenti.

Così:

cost invalidDate = DateTime.fromObject({ anno: 2022, mese: 2, giorno: 29 });
consolare.log (invalidDate.isValid); // falso

cost validDate = DateTime.fromObject({ anno: 2022, mese: 2, giorno: 28 });
consolare.log (validDate.isValid); // VERO

Nell'esempio, il primo Appuntamento oggetto rappresenta una data non valida perché il 29 febbraio 2022 non è valido. Il secondo Appuntamento oggetto rappresenta una data valida del 28 febbraio 2022.

Le funzionalità di analisi e convalida in Luxon ti aiutano a gestire con precisione date e orari, convalidare gli input e fornire rappresentazioni affidabili di dati di data e ora.

Alternativi a Luxon

Hai imparato a creare, formattare e convalidare istanze di data e ora con Luxon. Questi suggerimenti ti aiuteranno nella creazione di app Web che richiedono la gestione di data e ora.

Puoi anche utilizzare altri pacchetti JavaScript per ottenere la gestione di data e ora nelle tue applicazioni web, inclusi Day.js e Date.fns. Questi pacchetti hanno i loro vantaggi e svantaggi e dovresti basare la tua preferenza sulle tue esigenze specifiche.