Laat de Luxon-bibliotheek de last van datum- en tijdafhandeling voor uw JavaScript-apps dragen.
U kunt JavaScript gebruiken om dynamische webapplicaties te bouwen en applicaties die in andere omgevingen draaien, waaronder de desktop. Veel apps moeten datums en tijden verwerken, van planners en chatapplicaties tot apps voor het boeken van evenementen.
Luxon biedt een superieur alternatief voor het native JavaScript Datum object, met meer gebruiksvriendelijke, betrouwbare manieren om datum- en tijdbewerkingen af te handelen.
Luxon installeren
U kunt Luxon op verschillende manieren aan uw JavaScript-app toevoegen, afhankelijk van uw voorkeursmethode. De twee meest voorkomende methoden zijn om te gebruiken npm om de bibliotheek te installeren of om een CDN-link te gebruiken om de bibliotheek in uw toepassing op te nemen.
Om Luxon in een Node.js-project te installeren, voert u de volgende npm-opdracht uit in uw terminal:
npm install --save luxon
Gebruik de bibliotheek in uw JavaScript-bestand door luxon te vereisen:
const { DatumTijd } = vereisen("luxon");
Deze code gebruikt het vernietigen van objecten om de te importeren Datum Tijd class uit de Luxon-bibliotheek en maak een nieuwe variabele Datum Tijd verwijzend naar die klasse.
Hierdoor kunt u instanties van datums en tijden maken en bewerkingen uitvoeren zoals het opmaken van datums voor weergave.
Als alternatief kunt u Luxon opnemen in uw aanvraag met behulp van een CDN-koppeling. Om dit te doen, voegt u de volgende opmaak toe aan uw HTML-bestand:
<scriptsrc=" https://cdn.jsdelivr.net/npm/[email protected]/build/global/luxon.min.js">script>
Met deze aanpak kunt u scripts uitvoeren met behulp van Luxon in de hoofdtekst van uw HTML.
Kenmerken van Luxon
Luxon biedt veel functies, waardoor het een waardevol pakket is voor het verwerken van datums en tijden in JavaScript-toepassingen.
Uitgebreide datum- en tijdmanipulatie
Luxon biedt verschillende methoden voor het maken, manipuleren en ophalen van datums en tijden. Luxon vereenvoudigt taken zoals het optellen of aftrekken van duur, het instellen van specifieke datum-/tijdcomponenten en het uitvoeren van relatieve tijdberekeningen.
Opmaak en lokalisatie
Met de opmaakopties van Luxon kunt u datums en tijden in vele formaten weergeven. Luxon ondersteunt verschillende opmaakpatronen en laat u datums en tijden instellen op basis van andere talen.
Ondersteuning voor tijdzones
Met Luxon werk je efficiënt met datums en tijden in verschillende tijdzones. Luxon biedt methoden om tijdzones in te stellen en om te zetten.
Onveranderlijk ontwerp
Luxon volgt een onveranderlijk ontwerppatroon en zorgt daarvoor Datum Tijd objecten zijn onveranderlijk. Deze ontwerpbenadering zorgt voor voorspelbaar en consistent gedrag bij het werken met datums en tijden.
Uitgebreide API-documentatie
De API-documentatie van Luxon is zeer gedetailleerd, waardoor het gemakkelijk is om de beschikbare methoden, opties en functionaliteit te verkennen en te begrijpen.
De DateTime-klasse in Luxon
De Datum Tijd klasse in Luxon vertegenwoordigt een bepaalde datum en tijd. Het biedt zowel klasse- als instantiemethoden waarmee u verschillende taken kunt uitvoeren. Deze taken omvatten het maken, parseren, ophalen, wijzigen en opmaken van datums en tijden.
Hier zijn enkele van de verschillende manieren om een nieuwe instantie van de klasse Date Time in Luxon te maken:
- De DateTime.local() methode:
Deze code maakt een nieuwe DateTime-instantie met behulp van de DateTime.local() methode. De methode heeft zeven argumenten nodig die de waarden voor jaar, maand, dag, uur, minuut, seconde en milliseconde vertegenwoordigen van de datum en tijd die u wilt maken.const dt = DatumTijd.lokaal(2023, 5, 21, 1, 22, 37, 845);
- De DateTime.fromJSDate() methode:
De code maakt een nieuw oorspronkelijke JavaScript-datum instantie en geeft het door aan de DateTime.fromJSDate() methode. Die methode retourneert een DateTime-object dat dezelfde datum en tijd vertegenwoordigt.const nu = nieuwDatum();
const dt = DateTime.fromJSDate (nu); - De DateTime.fromObject() methode:
Dit codeblok laat zien hoe u een nieuwe DateTime-instantie maakt met behulp van de DateTime.fromObject() methode. De methode neemt een object met eigenschappen die de waarden voor jaar, maand, dag, uur, minuut, seconde en milliseconde vertegenwoordigen van de datum en tijd die u wilt maken.const dt = DateTime.fromObject({
jaar: 2023,
maand: 1,
dag: 1,
uur: 0,
minuut:0,
seconde: 0,
milliseconde: 0
}); - De... gebruiken DatumTijd.nu() methode:
Dit codeblok laat zien hoe u een nieuwe Date Time-instantie kunt maken met behulp van de DatumTijd.nu() methode. De methode retourneert een nieuwe DateTime-instantie die de huidige datum en tijd in de lokale tijdzone vertegenwoordigt.const dt = DatumTijd.nu();
DateTime-objecten opmaken in tekenreeksen
Luxon vereenvoudigt de opmaak van Datum Tijd objecten in tekenreeksen die specifieke datums en tijden vertegenwoordigen. U kunt Luxon gebruiken om datums en tijden op verschillende manieren op te maken.
ISO 8601
Het ISO 8601-formaat wordt veel gebruikt voor gestandaardiseerde weergave van datum en tijd. Het formatteren van een Datum Tijd object als een ISO 8601-tekenreeks, gebruik dan de naarISO() methode:
const nu = DateTime.local();
troosten.log (nu.naarISO()); // 2023-05-21T15:20:07.936+01:00
Voor mensen leesbare formaten
Luxon ondersteunt door mensen leesbare indelingen die u kunt aanpassen voor lokale talen. U kunt een Datum Tijd bezwaar maken tegen een voor mensen leesbare string met de naarLocaleString() methode:
const nu = DateTime.local();
troosten.log (nu.naarLocaleString()); // 5/21/2023
Op tokens gebaseerde opmaak
Met op tokens gebaseerde opmaak kunt u datum en tijd opmaken in aangepaste tekenreeksen met behulp van tijdelijke aanduidingen die tokens worden genoemd. Het formatteren van een Datum Tijd object met behulp van tokens, gebruik de naarFormaat() methode:
const nu = DateTime.local();
troosten.log (nu.toFormat("jjjj-MM-dd UU: mm: ss")); //2023-05-21 15:16:57
In het bovenstaande voorbeeld is de opmaaktekenreeks jjjj-MM-dd UU: mm: ss vertegenwoordigt het gewenste uitvoerformaat. De penningen jjjj, MM, dd, HH, mm, En ss komen overeen met het jaar, de maand, de dag, het uur, de minuut en de seconde van de Datum Tijd voorwerp respectievelijk.
Met Luxon kunt u een breed scala aan datum- en tijdrepresentaties uitvoeren door een uitgebreide set tokens aan te bieden.
Datums en tijden parseren en valideren in Luxon
Luxon biedt robuuste methoden voor het ontleden en valideren van datums en tijden. Deze functies zijn handig voor taken zoals het valideren van gebruikersinvoer of het converteren van tekenreeksrepresentaties van datums en tijden naar Datum Tijd voorwerpen.
De fromFormat()-methode
De vanFormaat() Met de methode kunt u een tekenreeksrepresentatie van een datum en tijd ontleden en deze converteren naar een Datum Tijd voorwerp. Er zijn twee argumenten nodig, de invoertekenreeks en een opmaaktekenreeks die het invoerformaat specificeert.
Bijvoorbeeld:
DateTime.fromFormat("25 mei 2023", "LLLL dd jjjj")
Datums en tijden valideren met de isValid-methode
De is geldig methode controleert of a Datum Tijd object vertegenwoordigt een geldige datum en tijd. Het keert terug WAAR als het object geldig is en vals anders.
Zoals zo:
const invalidDate = DateTime.fromObject({ jaar: 2022, maand: 2, dag: 29 });
troosten.log (invalidDate.isValid); // vals
const validDate = DateTime.fromObject({ jaar: 2022, maand: 2, dag: 28 });
troosten.log (validDate.isValid); // WAAR
In het voorbeeld de eerste Datum Tijd object vertegenwoordigt een ongeldige datum omdat 29 februari 2022 niet geldig is. De seconde Datum Tijd object vertegenwoordigt een geldige datum van 28 februari 2022.
Parseer- en validatiefuncties in Luxon helpen u nauwkeurig om te gaan met datums en tijden, invoer te valideren en betrouwbare weergaven van datum- en tijdgegevens te bieden.
Alternatieven voor Luxon
U hebt geleerd hoe u met Luxon datum- en tijdinstanties kunt maken, opmaken en valideren. Deze tips helpen u bij het bouwen van webapps waarvoor datum- en tijdverwerking vereist is.
U kunt ook andere JavaScript-pakketten gebruiken om datum- en tijdafhandeling in uw webapplicaties te realiseren, waaronder Day.js en Date.fns. Deze pakketten hebben hun voor- en nadelen en u dient uw voorkeur te baseren op uw specifieke behoeften.