“Objets Date en JavaScript”

Le Guide JavaScript

(ou comment JavaScript joue avec le temps pendant que toi tu le perds) 😄

En JavaScript, il existe des objets qui font peu de bruit…
mais sans eux, ton application devient vite amnésique :

  • elle ne sait pas quel jour on est
  • elle ne connaît pas l’heure
  • elle ne peut pas dire “il y a 2 minutes”
  • elle est incapable de faire un compte à rebours

👉 Cet objet mystérieux, c’est Date.


🧠 Pourquoi l’objet Date est-il si important ?

Parce que le temps est partout dans une application moderne :

  • Date de création d’un compte
  • Dernière connexion
  • Expiration d’un token
  • Publication “il y a 5 minutes”
  • Minuteur, chronomètre, countdown 🎯

Sans Date, JavaScript serait comme :

“Je code, mais je ne sais pas quand” 😅


🎯 Qu’est-ce qu’un objet Date en JavaScript ?

Un objet Date représente un moment précis dans le temps
(date + heure + minutes + secondes + millisecondes).

Techniquement, JavaScript stocke une date comme :

le nombre de millisecondes écoulées depuis
le 1er janvier 1970 à minuit (UTC)

Oui… 1970.
Personne ne sait vraiment pourquoi, mais tout le monde accepte 😄


🛠️ Créer un objet Date (les bases solides)

1️⃣ Date actuelle : ici et maintenant

const maintenant = new Date();
console.log(maintenant);

📌 Ce que fait ce code :

  • new Date() crée un nouvel objet
  • Il contient la date et l’heure exactes
  • Jusqu’à la milliseconde ⏱️

🧠 À retenir :

Chaque fois que tu appelles new Date(),
JavaScript regarde sa montre ⌚


2️⃣ Créer une date à partir d’un texte (format ISO)

const naissance = new Date("1998-06-12");
console.log(naissance);

📌 Format recommandé :

YYYY-MM-DD

Pourquoi ?

  • clair
  • standard
  • compris partout

❌ À éviter :

new Date("12/06/1998"); // ambigu selon le pays

JavaScript pourrait répondre :

“12 juin ? ou 6 décembre ? Moi aussi je doute.” 🤷‍♂️


3️⃣ Créer une date avec paramètres (attention piège !)

const datePerso = new Date(2025, 0, 1);
console.log(datePerso);

📌 Paramètres :

new Date(année, mois, jour, heure, minute, seconde)

⚠️ PIÈGE LÉGENDAIRE :
Les mois commencent à 0

Mois réelJavaScript
Janvier0
Février1
Décembre11
new Date(2025, 11, 25); // 25 décembre 2025 🎄

🧠 Astuce de survie :

Si ton mois est faux, enlève 1 😄


🔍 Lire les informations d’une Date

📅 Année, mois, jour

const d = new Date();

d.getFullYear(); // 2026
d.getMonth();    // 0 - 11
d.getDate();     // 1 - 31

📌 Traduction humaine :

  • getFullYear() → “On est en quelle année ?”
  • getMonth() → “Quel mois (version JS bizarre) ?”
  • getDate() → “Quel jour du mois ?”

⚠️ Attention :

getDay(); // jour de la semaine (0 = dimanche)

Oui… dimanche = 0 😅
JavaScript a ses propres règles.


⏰ Heure, minutes, secondes

d.getHours();      // heures
d.getMinutes();   // minutes
d.getSeconds();   // secondes
d.getMilliseconds(); // millisecondes

📌 Utilisation typique :

  • horloge en temps réel
  • logs
  • messages “envoyé à 14:32”

✍️ Modifier une date (voyage dans le temps)

const d = new Date();

d.setFullYear(2030);
d.setMonth(6);   // juillet
d.setDate(14);

🧠 Ce que fait JavaScript :

“Ok, on modifie la date existante.”

📌 Oui, l’objet Date est mutable
(ce qui peut surprendre).


🔄 Comparer des dates (très pratique)

const debut = new Date("2025-01-01");
const fin = new Date("2025-12-31");

if (debut < fin) {
  console.log("Tout est logique 👍");
}

📌 Pourquoi ça marche ?

  • JavaScript compare les timestamps
  • Plus le nombre est grand, plus la date est récente

⏱️ Les timestamps : le cœur du système

Date.now();

➡️ Nombre de millisecondes depuis 1970.

const start = Date.now();
// code à mesurer
const end = Date.now();

console.log(end - start, "ms");

🎯 Parfait pour :

  • mesurer des performances
  • timers
  • animations
  • statistiques

🧪 Exemple pratique : compte à rebours

const now = new Date();
const event = new Date("2026-01-01");

const diff = event - now;
const days = Math.floor(diff / (1000 * 60 * 60 * 24));

console.log(`Encore ${days} jours 🎉`);

📌 Décodage :

  • 1000 → millisecondes
  • 60 → secondes
  • 60 → minutes
  • 24 → heures

JavaScript fait les maths, toi tu fais la fête 😄


❌ Erreurs classiques à éviter

1️⃣ Oublier les mois à 0

new Date(2025, 12, 1); // janvier 2026 ❌

2️⃣ Comparer des dates en string

"2025-2-1" > "2025-10-1" // faux résultat 😱

✔️ Toujours comparer des objets Date.


🧠 Astuces de pro

  • Stocke les dates en ISO
  • Utilise Date.now() pour les calculs
  • Évite les fuseaux horaires sans librairie
  • Pour projets sérieux → date-fns ou dayjs
  • Ne fais pas confiance à Date pour tout… mais respecte-le 😄

🏁 Conclusion

Les objets Date en JavaScript sont :

  • puissants
  • parfois capricieux
  • absolument indispensables

Bien les comprendre, c’est :

écrire du code plus intelligent
plus fiable
et moins stressant 😎

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir