Accueil Technologie
Comment gérer la date et l’heure dans React en utilisant Day.js

Comment gérer la date et l’heure dans React en utilisant Day.js

La gestion de la date et de l’heure est cruciale pour toute application, et React ne fait pas exception. Bien que JavaScript fournisse des fonctions intégrées de manipulation de la date et de l’heure, elles peuvent être encombrantes. Heureusement, de nombreuses bibliothèques tierces peuvent simplifier la gestion de la date et de l’heure dans React. L’une de ces bibliothèques est Day.js.


Day.js est une bibliothèque légère qui permet d’analyser, de valider, de manipuler et de formater les dates et les heures en JavaScript.

Installation de Day.js

La bibliothèque Day.js est une alternative moderne à Moment.js, une autre bibliothèque utilisée pour gérer les dates et les heures. Day.js offre une API similaire avec une empreinte plus petite et des performances plus rapides.

Pour utiliser Day.js dans votre application React, vous devez d’abord l’installer. Vous pouvez le faire en exécutant la commande suivante dans votre terminal :

 npm install dayjs

Analyse et formatage des dates et heures

Day.js fournit une API simple pour analyser et formater les dates. Vous pouvez obtenir la date et l’heure à l’aide de la fonction dayjs() mais d’abord, vous devez l’importer de la bibliothèque Day.js.

Par exemple :

 import React from 'react';
import dayjs from 'dayjs';

function App() {

  const date = dayjs();
  console.log(date);

  return (
    <div>
      <p>Date and Time Management</p>
    </div>
  )
}

export default App

Le dayjs() crée un nouvel objet Day.js représentant une date et une heure spécifiques. Dans l’exemple ci-dessus, l’objet dayjs() crée un objet Day.js représentant la date et l’heure actuelles.

Dans votre console, l’objet Day.js ressemblerait à ceci :

journal de la console de l'objet day.js

L’objet dayjs() La méthode dayjs() accepte un argument optionnel de date qui peut être une chaîne de caractères, un nombre (horodatage Unix), un objet JavaScript Date ou un autre objet Day.js. La méthode génère un objet Day.js représentant l’argument date spécifié.

Par exemple :

 import React from 'react';
import dayjs from 'dayjs';

function App() {

  const date = dayjs('2023-05-01');
  console.log(date); // Day.js object representing the date specified

  const unixDate = dayjs(1651382400000);
  console.log(unixDate); // Day.js object representing the date specified

  return (
    <div>
      <p>Date and Time Management</p>
    </div>
  )
}

export default App

La sortie de l’objet Day.js de ce bloc de code sera similaire au bloc de code précédent, mais les valeurs des propriétés seront différentes.

Pour afficher les dates générées en tant qu’objets Day.js, vous devez utiliser l’objet format() méthode. La méthode format() de la bibliothèque Day.js permet de formater un objet Day.js en tant que chaîne de caractères selon une chaîne de format spécifique.

La méthode prend une chaîne de format comme argument. L’argument de la chaîne peut inclure une combinaison de lettres et de caractères spéciaux, chacun ayant une signification spécifique,

Par exemple :

 import React from 'react';
import dayjs from 'dayjs';

function App() {

  const date = dayjs('2023-05-01').format('dddd, MMMM D, YYYY'); // Monday, May 1, 2023
  const time = dayjs().format('HH:mm:ss'); //09:50:23
  const unixDate = dayjs(1651382400000).format('MM/DD/YY'); // 05/01/22

  return (
    <div>
      <p>{date}</p>
      <p>{unixDate}</p>
     <p>{time}</p>
    </div>
  )
}

export default App

Le date affichera la date dans le format suivant : « Mercredi 26 avril 2023 ». La chaîne de format est la suivante ‘dddd, MMMM D, YYYY’dddd est le jour de la semaine, MMMM est le mois en lettres, D est le jour du mois en un ou deux chiffres, et YYYY est l’année en quatre chiffres.

L’année unixDate est formatée sous forme de chaîne de caractères à l’aide de la chaîne de format ‘MM/JJ/AAAA,’ qui représente le mois en deux chiffres, le jour du mois en deux chiffres et l’année en quatre chiffres.

Le temps affiche l’heure actuelle dans le format spécifié. La chaîne de format est ‘HH:mm:ss’ où le HH représente les heures, le mm représente les minutes, et le ss représente les secondes.

Manipulation des dates et heures

Day.js propose plusieurs méthodes qui facilitent la manipulation des dates et des heures. Vous pouvez vous référer à la documentation officielle de Day.js pour obtenir la liste complète des méthodes disponibles pour manipuler les dates et les heures.

Par exemple :

 import React from 'react';
import dayjs from 'dayjs';

function App() {

  const date = dayjs().add(7,'days').format('dddd, MMMM D, YYYY'); // Wednesday, June 16, 2023
  const time = dayjs().subtract(2, 'hours').format('HH:mm:ss'); // 07:53:00

  return (
    <div>
      <p>{date}</p>
      <p>{time}</p>
    </div>
  )
}

export default App

Le bloc de code ci-dessus utilise la fonction add() pour ajouter 7 jours à la date actuelle. La méthode add() permet d’ajouter une durée spécifiée à un objet Day.js. La méthode prend deux arguments, la quantité de temps à ajouter en chiffres et l’unité de temps à ajouter.

Avec la méthode subtract() vous permet de soustraire une durée spécifiée de la valeur de la méthode Day.js objet. L’objet temps soustrait 2 heures à l’heure actuelle à l’aide de la variable subtract() méthode.

Affichage du temps relatif

Day.js fournit plusieurs méthodes dont fromNow(), toNow(), to()et de() pour afficher le temps relatif, comme « il y a 2 heures » ou « dans 3 jours ». Pour utiliser ces méthodes, importez le fichier relativeTime plugin de dayjs/plugin/relativeTime dans votre application React.

Par exemple :

 import React from 'react';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';

function App() {

  dayjs.extend(relativeTime);
  
  const date = dayjs().add(7, 'days')
  const relativeDate = date.fromNow(); // in 7 days

  const date2 = dayjs().subtract(2, 'hours');
  const relativeDate2 = date2.toNow(); // in 2 hours

  const lastYear = dayjs().subtract(1, 'year');
  const diff = date.from(lastYear); // in a year
  const diff2 = date.to(lastYear) // a year ago

  return (
    <div>
      <p>{ relativeDate }</p>
      <p>{ relativeDate2 }</p>
      <p>{ diff }</p>
      <p>{ diff2 }</p>
    </div>
  )
}

export default App

Le fromNow() affiche une chaîne de temps relative représentant la différence entre l’heure actuelle et une date spécifiée. Dans cet exemple, la fonction fromNow() affiche la différence entre date et l’heure actuelle.

Le toNow() est similaire à la fonction fromNow() en ce sens qu’elle affiche une chaîne de caractères représentant la différence entre une date spécifiée et l’heure actuelle. Lorsque vous appelez la fonction toNow() renvoie une chaîne de temps relative à l’heure actuelle.

Enfin, en utilisant la fonction from() et to() vous pouvez afficher une chaîne de temps relative représentant la différence entre deux dates spécifiées. Dans cet exemple, vous obtenez la différence entre dernièreannée et date à l’aide de l’outil from() et to() fonctions.

Notez que vous pouvez également passer un argument booléen facultatif à la fonction fromNow(), toNow(), à partir de()et à() pour spécifier s’il faut inclure ou exclure le suffixe (par exemple, « ago » ou « in »).

Par exemple :

 const date = dayjs().add(7, 'days')
const relativeDate = date.fromNow(true); // 7 days

const date2 = dayjs().subtract(2, 'hours');
const relativeDate2 = date2.toNow(true); // 2 hours

const lastYear = dayjs().subtract(1, 'year');
const diff = date.from(lastYear, true) // a year
const diff2 = date.to(lastYear, true) // a year

Passage faux à l’argument affichera les dates avec le suffixe.

Gérer efficacement la date et l’heure

La gestion de la date et de l’heure est un aspect crucial de toute application, et Day.js fournit une bibliothèque facile à utiliser et flexible pour gérer ces opérations dans une application React. En incorporant Day.js dans votre projet, vous pouvez facilement formater les dates et les heures, analyser les chaînes de caractères et manipuler les durées.

En outre, Day.js offre une gamme de plugins pour étendre ses fonctionnalités et le rendre encore plus puissant. Que vous construisiez un simple calendrier ou un système de planification complexe, Day.js est un excellent choix pour gérer la date et l’heure dans votre application React.

Leave your vote

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires

Log In

Forgot password?

Don't have an account? Register

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Add to Collection

No Collections

Here you'll find all collections you've created before.

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x