10- Les dates en JavaScript et l’objet global Date
Pour travailler avec des dates et les manipuler en JavaScript, nous allons utiliser l’objet natif Date.
Le constructeur Date() possède en effet de nombreuses méthodes qui vont nous permettre d’obtenir ou de définir une date.
Le JavaScript stocke les dates en interne sous forme d’un Timestamp Unix exprimé en millisecondes (c’est-à-dire le Timestamp Unix multiplié par 1000).
Le Timestamp Unix correspond au nombre de secondes écoulées depuis le premier janvier 1970 à minuit UTC ou GMT (c’est-à-dire minuit selon l’heure de Londres).
De nombreux langages représentent les dates sous forme de Timestamp Unix car c’est un nombre et il est beaucoup plus facile de travailler et de manipuler des nombres que des dates littérales qui peuvent s’écrire sous de nombreux différents formats.
Nous allons cependant également pouvoir exprimer des dates sous forme littérale (c’est-à-dire sous forme de chaînes de caractères), en anglais, et en respectant certaines conventions.

Créer un objet de type date
Pour créer et manipuler une date particulière, nous allons devoir créer un objet de type date.
Pour créer un objet de type date, nous allons cette fois-ci être obligé d’utiliser le constructeur Date() avec donc le mot clef new.
Les méthodes getters et setters de l’objet Date
L’objet Date possède de nombreuses méthodes qu’on peut classer en différents groupes : les méthodes qui vont nous permettre d’obtenir une date, celles qui vont permettre de définir une date, celles qui vont permettre de formater une date, etc.
De manière générale en programmation vous pouvez noter qu’on appelle les méthodes qui permettent d’obtenir / de récupérer quelque chose des « getters » (get signifie avoir, posséder en anglais). Ces méthodes sont souvent reconnaissables par le fait qu’elles commencent par get…().
De même, on appelle les méthodes qui permettent de définir quelque chose des « setters » (set signifie définir en anglais). Ces méthodes vont être reconnaissables par le fait qu’elles commencent par set…().
Notez que ce système de « getters » et de « setters » n’est pas propre à l’objet Date en JavaScript mais est une convention partagée par de nombreux langages de programmation.
Les getters de l’objet Date
L’objet Date
va posséder différentes méthodes getters qui vont chacune nous permettre de récupérer un composant d’une date (année, mois, jour, heure, etc.).
Les getters suivants vont renvoyer un composant de date selon l’heure locale :
getDay()
renvoie le jour de la semaine sous forme de chiffre (avec 0 pour dimanche, 1 pour lundi et 6 pour samedi) pour la date spécifiée selon l’heure locale ;getDate()
renvoie le jour du mois en chiffres pour la date spécifiée selon l’heure locale ;getMonth()
renvoie le numéro du mois de l’année (avec 0 pour janvier, 1 pour février, 11 pour décembre) pour la date spécifiée selon l’heure locale ;getFullYear()
renvoie l’année en 4 chiffres pour la date spécifiée selon l’heure locale ;getHours()
renvoie l’heure en chiffres pour la date spécifiée selon l’heure locale ;getMinutes()
renvoie les minutes en chiffres pour la date spécifiée selon l’heure locale ;getSeconds()
renvoie les secondes en chiffres pour la date spécifiée selon l’heure locale ;getMilliseconds()
renvoie les millisecondes en chiffres pour la date spécifiée selon l’heure locale.
Exemple :

const horloge = function () {
let date = new Date();
let heures = date.getHours();
let minutes = date.getMinutes();
let secondes = date.getSeconds();
if (secondes < 10) {
secondes = "0" + secondes;
}
if (minutes < 10) {
minutes = "0" + secondes;
}
let affichage = heures + ":" + minutes + ":" + secondes;
let affi = (document.getElementById("horloge").innerText = affichage);
};
window.setInterval(horloge, 1000);