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 ?

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

Références