
Vous pouvez utiliser JavaScript pour créer des applications web dynamiques et des applications qui s’exécutent dans d’autres environnements, y compris le bureau. De nombreuses applications ont besoin de gérer des dates et des heures, qu’il s’agisse de programmateurs, d’applications de chat ou d’applications de réservation d’événements.
Luxon offre une alternative supérieure à l’application native JavaScript Date avec des méthodes plus conviviales et plus fiables pour gérer les opérations relatives à la date et à l’heure.
Installation de Luxon
Vous pouvez ajouter Luxon à votre application JavaScript de plusieurs manières, selon votre méthode préférée. Les deux méthodes les plus courantes consistent à utiliser npm pour installer la bibliothèque ou pour utiliser un lien CDN afin d’inclure la bibliothèque dans votre application.
Pour installer Luxon dans un projet Node.js, lancez la commande npm suivante dans votre terminal :
npm install --save luxon
Utilisez la bibliothèque dans votre fichier JavaScript en requérant luxon :
const { DateTime } = require("luxon");
Ce code utilise la déstructuration d’objets pour importer la bibliothèque DateTime de la bibliothèque Luxon et créez une nouvelle variable DateTime faisant référence à cette classe.
Cette classe permet de créer des instances de dates et d’heures et d’effectuer des opérations telles que le formatage des dates pour l’affichage.
Vous pouvez également inclure Luxon dans votre application en utilisant un lien CDN. Pour ce faire, ajoutez la balise suivante à votre fichier HTML :
<script src="https://cdn.jsdelivr.net/npm/luxon@3.2.1/build/global/luxon.min.js"></script>
En utilisant cette approche, vous pouvez exécuter des scripts à l’aide de la fonction Luxon dans le corps de votre HTML.
Caractéristiques de Luxon
Luxon offre de nombreuses fonctionnalités qui en font un outil précieux pour gérer les dates et les heures dans les applications JavaScript.
Manipulation complète de la date et de l’heure
Luxon propose plusieurs méthodes pour créer, manipuler et récupérer des dates et des heures. Luxon simplifie les tâches telles que l’ajout ou la soustraction de durées, la définition de composants de date et d’heure spécifiques et l’exécution de calculs de temps relatifs.
Formatage et localisation
Les options de formatage de Luxon vous permettent d’afficher les dates et les heures dans de nombreux formats. Luxon prend en charge différents modèles de format et vous permet de définir des dates et des heures dans d’autres langues.
Prise en charge des fuseaux horaires
Avec Luxon, vous pouvez travailler efficacement avec des dates et des heures dans différents fuseaux horaires. Luxon fournit des méthodes pour définir et convertir les fuseaux horaires.
Conception immuable
Luxon suit un modèle de conception immuable, garantissant que DateTime sont immuables. Cette approche permet d’obtenir un comportement prévisible et cohérent lors de l’utilisation de dates et d’heures.
Documentation étendue de l’API
La documentation de l’API de Luxon est très détaillée, ce qui facilite l’exploration et la compréhension des méthodes, options et fonctionnalités disponibles.
La classe DateTime dans Luxon
La classe DateTime La classe DateTime de Luxon représente une date et une heure particulières. Elle offre à la fois des méthodes de classe et d’instance qui vous permettent d’effectuer diverses tâches. Ces tâches comprennent la création, l’analyse, la récupération, la modification et le formatage de dates et d’heures.
Voici quelques unes des différentes manières de créer une nouvelle instance de la classe Date Time dans Luxon :
- La méthode DateTime.local() méthode :
const dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);Ce code crée une nouvelle instance DateTime en utilisant la méthode DateTime.local() . Cette méthode prend sept arguments représentant les valeurs de l’année, du mois, du jour, de l’heure, de la minute, de la seconde et de la milliseconde de la date et de l’heure que vous souhaitez créer.
- La méthode DateTime.fromJSDate() méthode :
const now = new Date();
const dt = DateTime.fromJSDate(now);Le code crée une nouvelle instance de date JavaScript native et la transmet à la méthode DateTime.fromJSDate() . Cette méthode renvoie un objet DateTime représentant la même date et la même heure. Cette méthode renvoie un objet DateTime représentant la même date et la même heure.
- La méthode DateTime.fromObject() méthode :
const dt = DateTime.fromObject({
year: 2023,
month: 1,
day: 1,
hour: 0,
minute:0,
second: 0,
millisecond: 0
});Ce bloc de code montre comment créer une nouvelle instance de DateTime à l’aide de la méthode DateTime.fromObject() méthode. Cette méthode prend un objet dont les propriétés représentent les valeurs de l’année, du mois, du jour, de l’heure, de la minute, de la seconde et de la milliseconde de la date et de l’heure que vous souhaitez créer.
- Utilisation de la méthode DateTime.now() méthode :
const dt = DateTime.now();Ce bloc de code montre comment créer une nouvelle instance de date et d’heure à l’aide de la méthode DateTime.now() méthode. Cette méthode renvoie une nouvelle instance DateTime représentant la date et l’heure actuelles dans le fuseau horaire local.
Formatage des objets DateTime en chaînes de caractères
Luxon simplifie le formatage des objets DateTime en chaînes de caractères représentant des dates et des heures spécifiques. Vous pouvez utiliser Luxon pour formater les dates et les heures de différentes manières.
ISO 8601
Le format ISO 8601 est largement utilisé pour la représentation normalisée de la date et de l’heure. Pour formater un DateTime en tant que chaîne ISO 8601, utilisez la fonction toISO() méthode :
const now = DateTime.local();
console.log(now.toISO()); // 2023-05-21T15:20:07.936+01:00
Formats lisibles par l’homme
Luxon supporte des formats lisibles par l’homme que vous pouvez personnaliser pour les langues locales. Vous pouvez formater un DateTime en une chaîne lisible par l’homme à l’aide de l’attribut toLocaleString() méthode :
const now = DateTime.local();
console.log(now.toLocaleString()); // 5/21/2023
Formatage à base de jetons
Le formatage basé sur des jetons vous permet de formater la date et l’heure dans des chaînes personnalisées en utilisant des caractères de remplacement appelés jetons. Pour formater une DateTime à l’aide de jetons, utilisez la méthode toFormat() méthode :
const now = DateTime.local();
console.log(now.toFormat("yyyy-MM-dd HH:mm:ss")); //2023-05-21 15:16:57
Dans l’exemple ci-dessus, la chaîne de format aaaa-MM-jj HH:mm:ss représente le format de sortie souhaité. Les jetons aaaa, MM, dd, HH, mmet ss correspondent à l’année, au mois, au jour, à l’heure, à la minute et à la seconde du DateTime respectivement.
Luxon vous permet d’effectuer une large gamme de représentations de la date et de l’heure en fournissant un ensemble étendu de jetons.
Analyse et validation des dates et heures dans Luxon
Luxon fournit des méthodes robustes pour analyser et valider les dates et les heures. Ces fonctionnalités sont utiles pour des tâches telles que la validation des entrées utilisateur ou la conversion des représentations de chaînes de dates et d’heures en DateTime objets.
La méthode fromFormat()
La méthode fromFormat() vous permet d’analyser une représentation sous forme de chaîne de caractères d’une date et d’une heure, et de la convertir en un format DateTime . Il prend deux arguments, la chaîne d’entrée et une chaîne de format spécifiant le format d’entrée. Il prend deux arguments, la chaîne d’entrée et une chaîne de format spécifiant le format d’entrée.
Par exemple :
DateTime.fromFormat("May 25 2023", "LLLL dd yyyy")
Valider les dates et heures avec la méthode isValid
La méthode isValid La méthode isValid vérifie si un DateTime représente une date et une heure valides. Il renvoie vrai si l’objet est valide et faux autrement.
Comme ça :
const invalidDate = DateTime.fromObject({ year: 2022, month: 2, day: 29 });
console.log(invalidDate.isValid); // false
const validDate = DateTime.fromObject({ year: 2022, month: 2, day: 28 });
console.log(validDate.isValid); // true
Dans l’exemple, le premier DateTime représente une date invalide car le 29 février 2022 n’est pas valide. Le deuxième objet DateTime représente une date valide du 28 février 2022.
Les fonctionnalités d’analyse et de validation de Luxon vous aident à traiter avec précision les dates et les heures, à valider les entrées et à fournir des représentations fiables des données de date et d’heure.
Alternatives à Luxon
Vous avez appris à créer, formater et valider des instances de date et d’heure avec Luxon. Ces conseils vous aideront à construire des applications web qui nécessitent la gestion de la date et de l’heure.
Vous pouvez également utiliser d’autres packages JavaScript pour gérer la date et l’heure dans vos applications web, notamment Day.js et Date.fns. Ces paquets ont leurs avantages et leurs inconvénients, et vous devez baser votre préférence sur vos besoins spécifiques.