JavaScript Date et heure

En JavaScript, il existe un objet intégré Date pour gérer toutes les opérations liées à la date et à l'heure. Par exemple, vous pouvez l'utiliser pour afficher la date et l'heure actuelles, créer un calendrier, créer une minuterie, et bien plus encore.

Comment créer un objet Date

Pour apprendre à créer un nouvel objet Date, suivez les étapes ci-dessous.

Notez que l'opérateur new est généralement utilisé pour créer un objet date.

Appelez new Date () en choisissant l'un des arguments suivants:

new Date()

Vous pouvez créer un objet Date pour la date et l'heure actuelles sans arguments de cette manière:

Create Date object javascript
let nowDate = new Date(); console.log(nowDate); // shows current date/time

Cette action renvoie la date actuelle avec l'heure et le fuseau horaire.

Nous pouvons distinguer d'autres façons de créer une Date en utilisant l'opérateur new.

Nouvelle date avec millisecondes

Création d'un objet Date avec le temps égal au nombre de millisecondes écoulées après le 1er janvier 1970 UTC+0.

Voici un exemple:

Date object javascript
// 0 means 01.01.1970 UTC+0 let startDate = new Date(0); console.log(startDate); // now add 24 hours, get 02.01.1970 UTC+0 let startTime = new Date(24 * 3600 * 1000); console.log(startTime);

Dans cet exemple, un horodatage est utilisé pour représenter le nombre de millisecondes écoulées depuis le début de 1970.

Création d'un objet Date à l'aide d'une chaîne de caractères

Il est possible de créer un objet Date en passant la représentation en chaîne de la date. La représentation en chaîne sera acceptée si elle peut être analysée à l'aide de Date.parse().

Voici un exemple:

Date object javascript
let date = new Date("2019-12-26"); console.log(date); //The isn't a fixed time, so it's expected to be midnight GMT and // is modified according to the timezone, in which the code is run // So the result could be // Thu Dec 26 2019 04:00:00 GMT+1100 (Australian Eastern Daylight Time)

Le format suivant est acceptable: new Date(année, mois, date, heures, minutes, secondes, ms). Vous devez également suivre ces règles:

  • L'année doit comporter quatre chiffres (par exemple, 2020);
  • Le décompte du mois doit commencer à partir de 0 (par exemple, 0 est janvier et 11 est décembre);
  • Le jour du mois est le paramètre date; s'il est absent, vous devez supposer 1.
  • En cas d'absence d'heures/minutes/secondes/ms, vous devez les supposer égaux à 0.

Par exemple:

new Date(2019, 0, 1, 0, 0, 0, 0); // 1 Jan 2019, 00:00:00
new Date(2019, 0, 1); // the same, hours etc are 0 by default

La précision minimale doit être d'une milliseconde.

Par exemple:

Date object javascript
let date = new Date(2019, 1, 1, 2, 3, 4, 567); console.log(date);

Accès aux composants de la date

Maintenant, nous allons découvrir les moyens d'accéder aux composants de la date. Les voici:

getFullYear()

obtenir l'année (doit être constituée de 4 chiffres).

getMonth()

obtenir le mois (de 0 à 11).

getDate()

obtenir le jour du mois (de 1 à 31).

getHours(),
 getMinutes(),
 getSeconds(),
 getMilliseconds()

obtenir les composants de l'heure appropriés.

Il est essentiel d'utiliser getFullYear(), et non getYear(), car ce dernier est obsolète et peut parfois renvoyer une année à 2 chiffres. Alors, vous feriez mieux de ne jamais l'utiliser dans votre pratique.

De plus, il est même possible d'obtenir un jour de la semaine en appelant :

getDay()

Cela vous permettra d'obtenir un jour de la semaine de dimanche 0 à samedi 6.

Comment définir les composants de la date

En JavaScript, plusieurs méthodes sont utilisées pour définir les composants de la date et de l'heure. Parmi eux se trouvent:

setFullYear(year, [month], [date])
setMonth(month, [date])
setDate(date)
setHours(hour, [min], [sec], [ms])
setMinutes(min, [sec], [ms])

Certaines méthodes sont capables de définir plusieurs composants simultanément. Par exemple, setHours.

Voici un exemple:

Set date and time object javascript
let today = new Date(); today.setHours(0); console.log(today); // still today, but the hour is changed to 0 today.setHours(0, 0, 0, 0); console.log(today); // still today, now 00:00:00 sharp.

Autocorrection

Une fonctionnalité pratique des objets Date est l'autocorrection. Vous pouvez définir des valeurs hors plage, et elles seront ajustées automatiquement.

Par exemple:

Set date and time object javascript
let date = new Date(2019, 8, 32); // 32 Sep 2019 console.log(date);

Date en nombre, différence de date

Lorsque vous convertissez une Date en nombre, elle est transformée en horodatage, comme date.getTime().

Considérons l'exemple suivant:

Set date and time object javascript
let msDate = new Date(); console.log(+msDate); // it's a same as date.getTime(), it's the number of milliseconds

Il est également important de noter que les dates peuvent être soustraites. Vous pouvez l'utiliser pour des mesures, comme suit:

Date object in javascript
let startDate = new Date(); // start measuring time for (let x = 0; x < 10000; x++) { let smth = x * x * x; } let endDate = new Date(); // end measuring time console.log(`The loop took ${endDate - startDate} ms`);

Date.now()

Si vous décidez de mesurer le temps, il n'est pas nécessaire d'utiliser l'objet Date. Vous pouvez utiliser Date.now(), qui renverra l'horodatage actuel.

Par exemple:

Date object in javascript
let startDate = Date.now(); // milliseconds count from 1 Jan 1970 for (let x = 0; x < 10000; x++) { let doSomething = x * x * x; } let endDate = Date.now(); console.log(`The loop took ${endDate - startDate} ms`);

Date.parse à partir d'une chaîne

Si vous voulez lire une date à partir d'une chaîne, le Date.parse(str) vous aidera. Le format de la chaîne doit être: MM-DDTHH:mm:ss.sssZ. Plusieurs options plus courtes sont également possibles: YYYY-MM-DD ou YYYY-MM ou même YYYY.

Voici un exemple d'utilisation de Date.parse(str):

Date object in javascript
let ms = Date.parse('2019-02-28T14:52:20.254-08:00'); console.log(ms); // 1551394340254, it’s a timestamp

Un new Date peut être instantanément créé à partir de l'horodatage, comme ceci:

Date parse in javascript
let date = new Date(Date.parse('2019-02-28T14:52:20.254-08:00')); console.log(date);

Résumé

En JavaScript, l'objet Date est utilisé pour représenter la date et l'heure. L'objet Date inclut les deux. En règle générale, les mois sont comptés à partir de zéro et se terminent à 11. Les jours de la semaine sont également comptés à partir de zéro. En JavaScript, les dates peuvent être soustraites et donner leur différence en millisecondes, car une Date est transformée en horodatage lorsqu'elle est convertie en nombre. Enfin, contrairement à d'autres systèmes, en JavaScript, les horodatages sont en millisecondes, et non en secondes.

Heure du Quiz : Testez Vos Compétences!

Prêt à relever le défi de ce que vous avez appris ? Plongez dans nos quiz interactifs pour approfondir votre compréhension et renforcer vos connaissances de manière ludique.

Trouvez-vous cela utile?