5.13 Date
Le dernier objet intégré que nous examinons dans cette section est l'objet Date. Voyons les différentes façons de le créer. Date est une fonction constructeur qui possède plusieurs surcharges. La première forme consiste à l'appeler sans aucun paramètre : on obtient alors la date et l'heure actuelles.
const today = new Date();
Les différents constructeurs disponibles
Une deuxième forme accepte un seul paramètre : soit une chaîne représentant une date, soit un nombre de millisecondes écoulées depuis le 1er janvier 1970, soit un autre objet Date. Pour la version avec chaîne, plusieurs formats sont supportés — la documentation MDN les liste tous sous la rubrique « Date Time String Format ».
La troisième forme accepte les composants individuels comme nombres : année, mois, jour, heures, minutes, etc. Attention au piège classique : le mois est indexé à partir de zéro. Ainsi 0 correspond à janvier et 11 à décembre. Pour le mois de mai, on passera donc la valeur 4.
const date2 = new Date('May 15, 2022 09:00');
const date3 = new Date(2022, 4, 15, 9, 0);
Les paramètres au-delà de l'année et du mois sont optionnels et initialisés à 0 par défaut.
Méthodes get, set et conversion en chaîne
Tous les objets Date exposent une famille de méthodes get* et set* pour lire ou modifier leurs composants : getDate, getFullYear, getHours, getMinutes, getMilliseconds, et leurs équivalents setDate, setFullYear, etc.
today.setFullYear(2021);
console.log(today.getDate());
Pour afficher ou échanger une date, plusieurs méthodes de conversion existent. toDateString() retourne une chaîne lisible comme « Thu Mar 18 2021 ». toTimeString() renvoie uniquement la partie heure. La plus importante est toISOString() qui produit une chaîne au format ISO standard (date suivie de T puis de l'heure). C'est le format que vous utiliserez couramment dans vos applications web et mobiles pour transférer des dates entre le client et le serveur backend.