Date
Un objet représentant un instant précis, avec des méthodes pour lire et modifier la date et l’heure.
- Renvoie
- Un nouvel objet
Date.
Exemple
#const exam = new Date(Date.UTC(2026, 8, 28, 10, 30))
console.log(exam)
console.log(exam.getUTCFullYear(), exam.getUTCMonth(), exam.getUTCDate())
console.log(exam.getUTCDay(), exam.getUTCHours())Le mois 8 correspond à septembre, car les mois sont comptés à partir de zéro. Le jour de la semaine 1 signifie lundi (dimanche vaut 0).
Définition et utilisation
#Un objet Date stocke un instant sous la forme du nombre de millisecondes écoulées depuis le 1er janvier 1970 (UTC). new Date() sans argument renvoie l’instant actuel, et Date.now() donne directement ce nombre de millisecondes, pratique pour mesurer un temps.
Vous créez une date à partir d’un nombre de millisecondes, d’une chaîne au format ISO ("2026-09-28T10:30:00Z") ou de composants séparés : new Date(year, month, day, hour, minute). Attention : les mois sont comptés à partir de zéro, donc janvier vaut 0 et décembre vaut 11.
Les méthodes getFullYear(), getMonth(), getDate(), getDay() ou getHours() renvoient les composants dans le fuseau horaire de l’utilisateur, et leurs équivalents avec UTC dans le nom, comme getUTCHours(), dans le temps universel. Pour afficher des dates dans une forme lisible et locale, utilisez toLocaleDateString() ou Intl.DateTimeFormat.
Les objets Date sont modifiables : les méthodes set...() modifient l’objet existant. Vous calculez la différence entre deux dates en les soustrayant, car le résultat est un nombre de millisecondes.
Syntaxe
#new Date()
new Date(milliseconds)
new Date(dateString)
new Date(year, monthIndex, day, hours, minutes, seconds)
Date.now()
Date.UTC(year, monthIndex, day, hours, minutes)Paramètres
#milliseconds
nombre
Le nombre de millisecondes depuis le 1er janvier 1970 (UTC).dateString
chaîne de caractères
Une date au format ISO, par ex."2026-09-28"ou"2026-09-28T10:30:00Z".year, monthIndex, day…
nombres
Les composants de la date dans le fuseau horaire local.monthIndexprend des valeurs de 0 (janvier) à 11 (décembre).
Plus d’exemples
#const start = new Date(2026, 0, 1)
const oops = new Date(2026, 1, 1)
console.log(start.getMonth(), start.getDate())
console.log(oops.toLocaleDateString('fr-FR', { month: 'long' }))const start = new Date('2026-09-01T00:00:00Z')
const end = new Date('2026-09-28T00:00:00Z')
const days = (end - start) / (1000 * 60 * 60 * 24)
console.log(days)const deadline = new Date(Date.UTC(2026, 8, 28))
deadline.setUTCDate(deadline.getUTCDate() + 7)
console.log(deadline)Les méthodes set...() reportent automatiquement les jours excédentaires sur le mois suivant, donc le 28 septembre plus 7 jours donne le 5 octobre.
Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Rappelez-vous que les mois sont comptés à partir de zéro :
new Date(2026, 0, 1)correspond au 1er janvier, pas au 1er février. - Enregistrez et transmettez les dates au format ISO (
toISOString()), et ne convertissez vers une forme locale qu’au moment de l’affichage. - Une chaîne avec seulement une date, par ex.
"2026-09-28", est traitée comme un temps UTC, tandis qu’une chaîne avec une heure sansZà la fin est traitée comme un temps local. C’est une cause fréquente de décalages de plusieurs heures.
Entrées associées
#- Intl.DateTimeFormatFormate les dates et les heures selon les règles d’une langue et d’un fuseau horaire choisis.
- JSON.stringify()Transforme une valeur JavaScript, comme un objet ou un tableau, en chaîne de caractères au format JSON.
- Intl.NumberFormatFormate des nombres selon les règles d’une langue donnée : séparateurs, devises, pourcentages et unités.
- setInterval()Appelle une fonction de façon répétée, à l’intervalle donné, jusqu’à l’arrêt par clearInterval().
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.