Lad Luxon-biblioteket bære byrden af ​​dato- og tidshåndtering for dine JavaScript-apps.

Du kan bruge JavaScript til at bygge dynamiske webapplikationer og applikationer, der kører i andre miljøer, inklusive skrivebordet. Mange apps har brug for at håndtere datoer og tidspunkter, fra planlæggere og chatapplikationer til apps til begivenhedsbooking.

Luxon tilbyder et overlegent alternativ til det oprindelige JavaScript Dato objekt, med mere brugervenlige, pålidelige måder at håndtere dato og klokkeslæt på.

Installation af Luxon

Du kan tilføje Luxon til din JavaScript-app på flere måder, afhængigt af din foretrukne metode. De to mest almindelige metoder er at bruge npm at installere biblioteket eller bruge et CDN-link til at inkludere biblioteket i din applikation.

For at installere Luxon i et Node.js-projekt skal du køre følgende npm-kommando i din terminal:

npm install --save luxon

Brug biblioteket i din JavaScript-fil ved at kræve luxon:

konst { DateTime } = kræve("luxon");

Denne kode bruger

instagram viewer
objektdestrukturering at importere Dato tid klasse fra Luxon-biblioteket og opret en ny variabel Dato tid refererer til den klasse.

Dette giver dig mulighed for at oprette forekomster af datoer og klokkeslæt og udføre handlinger såsom formatering af datoer til visning.

Alternativt kan du inkludere Luxon i din ansøgning ved hjælp af en CDN link. For at gøre dette skal du tilføje følgende markup til din HTML-fil:

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

Ved at bruge denne tilgang kan du køre scripts ved hjælp af Luxon i din HTML-tekst.

Funktioner af Luxon

Luxon giver mange funktioner, hvilket gør det til en værdifuld pakke til håndtering af datoer og tidspunkter i JavaScript-applikationer.

Omfattende dato- og tidsmanipulation

Luxon tilbyder forskellige metoder til at oprette, manipulere og hente datoer og tidspunkter. Luxon forenkler opgaver såsom at tilføje eller trække varigheder fra, indstille specifikke dato/tidskomponenter og udføre relative tidsberegninger.

Formatering og lokalisering

Luxons formateringsmuligheder giver dig mulighed for at vise datoer og tidspunkter i mange formater. Luxon understøtter forskellige formatmønstre og lader dig indstille datoer og klokkeslæt i henhold til andre sprog.

Understøttelse af tidszone

Med Luxon kan du effektivt arbejde med datoer og klokkeslæt i forskellige tidszoner. Luxon giver metoder til at indstille og konvertere mellem tidszoner.

Uforanderligt design

Luxon følger et uforanderligt designmønster, hvilket sikrer det Dato tid objekter er uforanderlige. Denne designtilgang giver forudsigelig og ensartet adfærd, når du arbejder med datoer og tidspunkter.

Omfattende API-dokumentation

Luxons API-dokumentation er meget detaljeret, hvilket gør det nemt at udforske og forstå de tilgængelige metoder, muligheder og funktionalitet.

DateTime-klassen i Luxon

Det Dato tid klasse i Luxon repræsenterer en bestemt dato og tid. Det tilbyder både klasse- og instansmetoder, der lader dig udføre forskellige opgaver. Disse opgaver omfatter oprettelse, parsing, hentning, ændring og formatering af datoer og tidspunkter.

Her er nogle af de forskellige måder at oprette en ny forekomst af Dato Time-klassen på i Luxon:

  • Det DateTime.local() metode:
    konst dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);
    Denne kode opretter en ny DateTime-instans ved hjælp af DateTime.local() metode. Metoden tager syv argumenter, der repræsenterer værdierne for år, måned, dag, time, minut, sekund og millisekund for den dato og det klokkeslæt, du vil oprette.
  • Det DateTime.fromJSDate() metode:
    konst nu = nyDato();
    konst dt = DateTime.fromJSDate (nu);
    Koden opretter en ny indfødt JavaScript-dato instans og sender den til DateTime.fromJSDate() metode. Denne metode returnerer et DateTime-objekt, der repræsenterer samme dato og klokkeslæt.
  • Det DateTime.fromObject() metode:
    konst dt = DateTime.fromObject({
    år: 2023,
    måned: 1,
    dag: 1,
    time: 0,
    minut:0,
    anden: 0,
    millisekund: 0
    });
    Denne kodeblok viser, hvordan man opretter en ny DateTime-forekomst ved hjælp af DateTime.fromObject() metode. Metoden tager et objekt med egenskaber, der repræsenterer værdierne for år, måned, dag, time, minut, sekund og millisekund for den dato og det klokkeslæt, du vil oprette.
  • Bruger DateTime.now() metode:
    konst dt = DatoTid.nu();
    Denne kodeblok viser, hvordan man opretter en ny Dato Time-instans ved hjælp af DateTime.now() metode. Metoden returnerer en ny DateTime-forekomst, der repræsenterer den aktuelle dato og klokkeslæt i den lokale tidszone.

Formatering af DateTime-objekter til strenge

Luxon forenkler formateringen af Dato tid objekter i strenge, der repræsenterer bestemte datoer og tidspunkter. Du kan bruge Luxon til at formatere datoer og klokkeslæt på forskellige metoder.

ISO 8601

ISO 8601-formatet er meget udbredt til standardiseret dato og klokkeslæt. For at formatere en Dato tid objekt som en ISO 8601-streng, skal du bruge toISO() metode:

konst nu = DatoTid.local();
konsol.log (nu.toISO()); // 2023-05-21T15:20:07.936+01:00

Menneskelige læsbare formater

Luxon understøtter menneskelæselige formater, som du kan tilpasse til lokale sprog. Du kan formatere en Dato tid gøre indsigelse mod en menneskelig læsbar streng med toLocaleString() metode:

konst nu = DatoTid.local();
konsol.log (nu.toLocaleString()); // 5/21/2023

Token-baseret formatering

Token-baseret formatering giver dig mulighed for at formatere dato og tid til tilpassede strenge ved hjælp af pladsholdere kaldet tokens. For at formatere en Dato tid objekt ved hjælp af tokens, brug toFormat() metode:

konst nu = DatoTid.local();
konsol.log (nu.toFormat("åååå-MM-dd TT: mm: ss")); //2023-05-21 15:16:57

I eksemplet ovenfor, formatstrengen åååå-MM-dd TT: mm: ss repræsenterer det ønskede outputformat. Poletterne åååå, MM, dd, HH, mm, og ss svarer til år, måned, dag, time, minut og sekund af Dato tid henholdsvis objekt.

Luxon giver dig mulighed for at udføre en bred vifte af dato- og klokkeslætsrepræsentationer ved at levere et omfattende sæt tokens.

Parsing og validering af datoer og tidspunkter i Luxon

Luxon leverer robuste metoder til at parse og validere datoer og tidspunkter. Disse funktioner er nyttige til opgaver såsom validering af brugerinput eller konvertering af strengrepræsentationer af datoer og klokkeslæt til Dato tid genstande.

fromFormat()-metoden

Det fromFormat() metode giver dig mulighed for at parse en strengrepræsentation af en dato og tid og konvertere den til en Dato tid objekt. Det kræver to argumenter, inputstrengen og en formatstreng, der specificerer inputformatet.

For eksempel:

DatoTime.fromFormat("25. maj 2023", "LLLL dd åååå")

Validering af datoer og tidspunkter med isValid-metoden

Det er gyldig metoden kontrollerer, om en Dato tid objekt repræsenterer en gyldig dato og tid. Det vender tilbage rigtigt hvis objektet er gyldigt og falsk Ellers.

Ligesom:

konst invalidDate = DateTime.fromObject({ år: 2022, måned: 2, dag: 29 });
konsol.log (invalidDate.isValid); // falsk

konst validDate = DateTime.fromObject({ år: 2022, måned: 2, dag: 28 });
konsol.log (validDate.isValid); // rigtigt

I eksemplet den første Dato tid objekt repræsenterer en ugyldig dato, fordi den 29. februar 2022 ikke er gyldig. Sekundet Dato tid objekt repræsenterer en gyldig dato 28. februar 2022.

Parsing- og valideringsfunktioner i Luxon hjælper dig med nøjagtigt at håndtere datoer og klokkeslæt, validere input og give pålidelige repræsentationer af dato- og klokkeslætsdata.

Alternativer til Luxon

Du har lært, hvordan du opretter, formaterer og validerer dato- og tidsforekomster med Luxon. Disse tips vil hjælpe dig, når du bygger webapps, der kræver håndtering af dato og klokkeslæt.

Du kan også bruge andre JavaScript-pakker til at opnå dato- og tidshåndtering i dine webapplikationer, inklusive Day.js og Date.fns. Disse pakker har deres fordele og ulemper, og du bør basere din præference på dine specifikke behov.