Exemples de comment créer un objet date en javascript pour la date du jour ou pour une année, un mois et un jour donnés:
Créer un objet date en javascript pour la date actuelle
Pour créer un objet date en javascript il y a leDate() constructor.
Une simple utilisation de date() consiste à obtenir la date actuelle :
var now = new Date();
console.log( now );
donne par exemple:
Wed Mar 02 2022 13:46:30 GMT-0500 (Eastern Standard Time)
Créer un objet date en javascript en utilisant l'année, le mois et le jour
Pour créer une date pour une année, un mois et un jour donnés :
var year = 2008;
var month = 7;
var day = 8;
var date = new Date(year,month,day);
console.log( date );
donne
Fri Aug 08 2008 00:00:00 GMT-0400 (Eastern Daylight Time)
Attention : JavaScript compte les mois de 0 à 11 :
January 0
February 1
March 2
April 3
May 4
June 5
July 6
August 7
September 8
October 9
November 10
December 11
Remarque (1) : fonctionne également si l'année, le mois et le jour sont des chaînes :
var year = '2008';
var month = '7';
var day = '8';
console.log( typeof year );
donne
string
et
var date = new Date(year,month,day);
console.log( date );
donne aussi
Fri Aug 08 2008 00:00:00 GMT-0400 (Eastern Daylight Time)
Remarque (2) : idem
var date = new Date( '2008/08/08' );
donne aussi
Fri Aug 08 2008 00:00:00 GMT-0400 (Eastern Daylight Time)
Remarque (3) : cependant
var date = new Date( '2008-08-08' );
console.log( date );
pourrait donner (voir Javascript Date string constructing wrong date)
Thu Aug 07 2008 20:00:00 GMT-0400 (Eastern Daylight Time)
puisqu'ici le navigateur interprète les tirets que l'heure est en UTC et un décalage négatif par rapport à UTC correspondra au jour précédent (7 au lieu de 8 ici).
Récupérer l'année, le mois et le jour associés à un objet date
Pour obtenir l'année de l'objet date :
console.log( 1900 + date.getYear() );
donne
2008
Pour obtenir le mois de l'objet date :
console.log( date.getMonth() );
donne
7
Pour obtenir le jour de l'objet date :
console.log( date.getDate() );
donne
8
Différence de dates
Les objets date peuvent ensuite être utilisés pour calculer par exemple la différence entre deux dates :
var date1 = new Date(2020,4,10);
var date2 = new Date(2020,4,22);
var date_diff = date2 - date1;
console.log( date_diff );
donne
1036800000
la différence entre deux dates en millisecondes.
Pour obtenir la différence en jours :
console.log( Math.floor( date_diff / (1000*60*60*24)) );
donne
12