Constructeur Date()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Crée une instance d'un objet JavaScript Date
qui représente un instant donné de façon indépendante de la plateforme. Les objets Date
contiennent un nombre (Number
) qui représente le nombre de millisecondes écoulées depuis le premier janvier 1970 (UTC).
Exemple interactif
Syntaxe
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex);
new Date(year, monthIndex, day);
new Date(year, monthIndex, day, hours);
new Date(year, monthIndex, day, hours, minutes);
new Date(year, monthIndex, day, hours, minutes, seconds);
new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds);
Note : La seule façon correcte d'instancier un nouvel objet Date
est d'utiliser l'opérateur new
. Si vous invoquez ce constructeur directement (now = Date()
par exemple), la valeur renvoyée sera une chaîne de caractères plutôt qu'un objet Date
.
Paramètres
Il existe quatre formes basiques pour utiliser le constructeur Date()
:
Sans paramètre
Lorsqu'aucun paramètre n'est fourni, le nouvel objet Date
ainsi créé représente la date et heure courante du moment de l'instanciation.
Une valeur temporelle ou un horodatage numérique
value
-
Une valeur entière qui représente le nombre de millisecondes depuis le premier janvier 1970 00:00:00 UTC (l'epoch ECMAScript est équivalente à l'epoch UNIX) et pour laquelle les secondes intercalaires sont ignorées. On gardera à l'esprit que la plupart des fonctions d'horodatage UNIX sont précises à la seconde la plus proche.
Chaîne d'horodatage
dateString
-
Une chaîne de caractères qui représente une date, selon le format reconnu par la méthode
Date.parse()
qui sont conformes à la RFC 2822 IETF sur les horodatages ou selon le format ISO8601.)Note : Analyser des chaînes de caractères représentant des dates en utilisant le constructeur
Date
(ouDate.parse()
, qui fonctionne de la même façon) est fortement déconseillé en raison des différences et incohérences entre les différents navigateurs.- La prise en charge des chaînes de caractères de format RFC 2822 repose uniquement sur une convention.
- La prise en charge des formats ISO 8601 diffère en ce que les chaînes décrivant uniquement des dates (ex.
"1970-01-01"
) sont considérées comme UTC et pas comme locales.
Valeurs pour les composantes individuelles de la date et de l'heure
Soient au moins une année et un mois, cette forme de Date()
renvoie un objet Date
dont les valeurs des composantes (année, mois, jour, heure, minute, seconde, et milliseconde) proviennent des paramètres suivants. Chaque champ manquant prendra la valeur la plus basse possible (soit 1
pour le paramètre day
et 0
pour les autres). Les valeurs des paramètres sont évaluées selon le fuseau horaire local et pas UTC.
year
-
Une valeur entière représentant l'année.
Les valeurs de
0
à99
correspondent aux années1900
à1999
. Les autres valeurs correspondent aux années avec cette valeur. Voir l'exemple. monthIndex
-
Une valeur entière représentant le mois, en commençant à
0
pour janvier, jusqu'à11
pour décembre. Si une valeur supérieure à11
est utilisée, les mois supplémentaires sont ajoutés à la date. Ainsi,new Date(1990, 12, 1)
renverra une date représentant le premier janvier 1991. day
Facultatif-
Une valeur entière pour le jour du mois. La valeur par défaut est
1
. hours
Facultatif-
Une valeur entière entre
0
et23
, représentant l'heure du jour. La valeur par défaut est0
. minutes
Facultatif-
Une valeur entière représentant le nombre de minutes écoulées dans l'heure. La valeur par défaut est
0
. seconds
Facultatif-
Une valeur entière représentant le nombre de secondes écoulées dans la minute. La valeur par défaut est
0
. milliseconds
Facultatif-
Une valeur entière représentant le nombre de millisecondes écoulées dans la seconde. La valeur par défaut est
0
.
Valeur de retour
Invoquer new Date()
(le constructeur Date()
) renvoie un objet Date
. Si le constructeur est appelé avec une chaîne de caractères invalide pour une date, il renvoie un objet Date
dont la méthode toString()
renverra la valeur littérale Invalid Date
.
Invoquer la fonction Date()
(sans le mot-clé new
) renvoie une représentation en chaîne de caractères de la date et heure courante, de la même façon que new Date().toString()
. Tout argument passé à la fonction Date()
utilisée sans le mot-clé new
sera ignoré, quelle que soit la valeur (invalide ou non) : sous cette forme, la valeur renvoyée sera toujours une représentation en chaîne de caractères de la date et de l'heure courante.
Exemples
Plusieurs façons de créer un objet Date
Les exemples qui suivent illustrent différentes façons de créer des dates JavaScript :
Note : L'analyse de chaîne de caractères représentant des dates avec le constructeur Date
(ou Date.parse
qui est équivalent à cet égard) est fortement déconseillée en raison des différences et incohérences entre les navigateurs.
let today = new Date();
let birthday = new Date("December 17, 1995 13:24:00");
let birthday = new Date("1995-12-17T13:24:00");
let birthday = new Date(1995, 11, 17); // les mois sont numérotés à partir de 0
let birthday = new Date(1995, 11, 17, 13, 24, 0);
Spécifications
Specification |
---|
ECMAScript Language Specification # sec-date-constructor |
Compatibilité des navigateurs
BCD tables only load in the browser