Formats de date JavaScript


Saisie de date JavaScript

Il existe généralement trois types de formats de saisie de date en JavaScript :

Type Exemple
Date ISO "2015-03-25" (La norme internationale)
Date courte "03/25/2015"
Date longue "Mar 25 2015" ou "25 Mar 2015"

Le format ISO suit une norme stricte en JavaScript.

Les autres formats ne sont pas aussi bien définis et peuvent être spécifiques au navigateur.


Sortie de date JavaScript

Indépendamment du format d'entrée, JavaScript affichera (par défaut) les dates au format de chaîne de texte complet :


Dates ISO JavaScript

ISO 8601 est la norme internationale pour la représentation des dates et des heures.

La syntaxe ISO 8601 (YYYY-MM-DD) est également le format de date JavaScript préféré :

Exemple (Date complète)

const d = new Date("2015-03-25");
Essayez-le vous-même »

La date calculée sera relative à votre fuseau horaire.
En fonction de votre fuseau horaire, le résultat ci-dessus variera entre le 24 mars et le 25 mars.



Dates ISO (Année et Mois)

Les dates ISO peuvent être écrites sans spécifier le jour (YYYY-MM) :

Exemple

const d = new Date("2015-03");
Essayez-le vous-même »

Les fuseaux horaires peuvent faire varier le résultat ci-dessus entre le 28 février et le 1er mars.


Dates ISO (Seulement l'année)

Les dates ISO peuvent être écrites sans mois ni jour (YYYY) :

Exemple

const d = new Date("2015");
Essayez-le vous-même »

Les fuseaux horaires peuvent faire varier le résultat ci-dessus entre le 31 décembre 2014 et le 1er janvier 2015.


Dates ISO (Date-Heure)

Les dates ISO peuvent être écrites avec des heures, des minutes et des secondes ajoutées (YYYY-MM-DDTHH:MM:SSZ) :

Exemple

const d = new Date("2015-03-25T12:00:00Z");
Essayez-le vous-même »

La date et l'heure sont séparées par un T majuscule.

L'heure UTC est définie par une lettre Z majuscule.

Si vous souhaitez modifier l'heure par rapport à l'UTC, supprimez le Z et ajoutez +HH:MM ou -HH:MM à la place :

Exemple

const d = new Date("2015-03-25T12:00:00-06:30");
Essayez-le vous-même »

UTC (Temps Universel Coordonné) est le même que GMT (Temps Moyen de Greenwich).

Omettre T ou Z dans une chaîne de date-heure peut donner des résultats différents selon les navigateurs.


Fuseaux horaires

Lors de la définition d'une date, sans spécifier le fuseau horaire, JavaScript utilisera le fuseau horaire du navigateur.

Lors de la récupération d'une date, sans spécifier le fuseau horaire, le résultat est converti au fuseau horaire du navigateur.

En d'autres termes : si une date/heure est créée en GMT (Temps Moyen de Greenwich), la date/heure sera convertie en CDT (Heure d'été centrale des États-Unis) si un utilisateur navigue depuis le centre des États-Unis.


Dates courtes JavaScript.

Les dates courtes sont écrites avec une syntaxe "MM/JJ/AAAA" comme ceci :

Exemple

const d = new Date("03/25/2015");
Essayez-le vous-même »

AVERTISSEMENTS !

Dans certains navigateurs, les mois ou jours sans zéros en tête peuvent produire une erreur :

const d = new Date("2015-3-25");

Le comportement de "YYYY/MM/DD" est indéfini.
Certains navigateurs essaieront de deviner le format, d'autres retourneront NaN.

const d = new Date("2015/03/25");

Le comportement de "DD-MM-YYYY" est également indéfini.
Certains navigateurs essaieront de deviner le format, d'autres retourneront NaN.

const d = new Date("25-03-2015");

Dates longues JavaScript.

Les dates longues sont le plus souvent écrites avec une syntaxe "MMM JJ AAAA" comme ceci :

Exemple

const d = new Date("Mar 25 2015");
Essayez-le vous-même »

Le mois et le jour peuvent être dans n'importe quel ordre :

Exemple

const d = new Date("25 Mar 2015");
Essayez-le vous-même »

De plus, le mois peut être écrit en entier (janvier) ou abrégé (janv) :

Exemple

const d = new Date("January 25 2015");
Essayez-le vous-même »

Exemple

const d = new Date("Jan 25 2015");
Essayez-le vous-même »

Les virgules sont ignorées et les noms ne sont pas sensibles à la casse :

Exemple

const d = new Date("JANUARY, 25, 2015");
Essayez-le vous-même »

Saisie de date - Analyse des dates

Si vous avez une chaîne de date valide, vous pouvez utiliser la méthode Date.parse() pour la convertir en millisecondes.

Date.parse() renvoie le nombre de millisecondes entre la date et le 1er janvier 1970 :

Exemple

let msec = Date.parse("March 21, 2012");
Essayez-le vous-même »

Vous pouvez ensuite utiliser le nombre de millisecondes pour le convertir en un objet date :

Exemple

let msec = Date.parse("March 21, 2012");
const d = new Date(msec);
Essayez-le vous-même »