Date et heure JavaScript

Dans ce didacticiel, vous découvrirez la date et l'heure en JavaScript à l'aide d'exemples.

En JavaScript, la date et l'heure sont représentées par l' Dateobjet. L' Dateobjet fournit les informations de date et d'heure et fournit également diverses méthodes.

Une date JavaScript définit l' époque EcmaScript qui représente les millisecondes depuis le 1er janvier 1970 UTC . Cette date et cette heure sont les mêmes que l’époque UNIX (valeur de base prédominante pour les valeurs de date et d’heure enregistrées par ordinateur).

Création d'objets de date

Il existe quatre façons de créer un objet de date.

  • nouvelle date ()
  • nouvelle date (millisecondes)
  • new Date (chaîne de date)
  • nouvelle Date (année, mois, jour, heures, minutes, secondes, millisecondes)

nouvelle date ()

Vous pouvez créer un objet de date à l'aide du new Date()constructeur. Par exemple,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Production

 Lun 06 juil.2020 12:03:49 GMT + 0545 (Heure du Népal)

Ici, new Date()crée un nouvel objet de date avec la date actuelle et l'heure locale.

nouvelle date (millisecondes)

L' Dateobjet contient un nombre qui représente les millisecondes depuis le 1er janvier 1970 UTC .

new Date(milliseconds)crée un nouvel objet de date en ajoutant les millisecondes à l'heure zéro. Par exemple,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Remarque : 1000 millisecondes équivaut à 1 seconde.

new Date (chaîne de date)

new Date(date string) crée un nouvel objet de date à partir d'une chaîne de date.

En JavaScript, il existe généralement trois formats de saisie de date.

Formats de date ISO

Vous pouvez créer un objet de date en transmettant les formats de date ISO. Par exemple,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

Vous pouvez également passer uniquement l'année et le mois ou uniquement l'année. Par exemple,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

Vous pouvez également passer une heure spécifique aux dates ISO.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Remarque : La date et l' heure sont séparés par lettre majuscule T . Et l'heure UTC est définie avec Z majuscule .

Format de date courte et longue

Les deux autres formats de date sont le format de date courte et le format de date longue .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

nouvelle Date (année, mois, jour, heures, minutes, secondes, millisecondes)

new Date(year, month,… )crée un nouvel objet de date en passant une date et une heure spécifiques. Par exemple,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

L'argument passé a un ordre spécifique.

Si quatre nombres sont passés, cela représente l'année, le mois, le jour et les heures. Par exemple,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

De même, si deux arguments sont passés, cela représente l'année et le mois. Par exemple,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

Note: If you pass only one argument, it is treated as milliseconds. Hence, you have to pass two arguments to use this date format.

In JavaScript, months are counted from 0 to 11. January is 0 and December is 11.

JavaScript Date Methods

There are various methods available in JavaScript Date object.

Method Description
now() Returns the numeric value corresponding to the current time (the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC)
getFullYear() Gets the year according to local time
getMonth() Gets the month, from 0 to 11 according to local time
getDate() Gets the day of the month (1-31) according to local time
getDay() Gets the day of the week (0-6) according to local time
getHours() Gets the hour from 0 to 23 according to local time
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Pour en savoir plus sur la date et l'heure dans JavaScript, consultez Démystification de la date et de l'heure.

Articles intéressants...