⊗jsPmTmAA 322 of 505 menu

Correction automatique des dates en JavaScript

JavaScript a une fonctionnalité très intéressante et utile : si un moment incorrect a été spécifié lors de la création de l'objet Date, il sera automatiquement recalculé en un moment correct. Regardons un exemple.

Comme vous le savez, la date du 35 janvier n'existe pas. Le jour maximum possible en janvier est le 31. Il s'avère que notre date du 35 janvier a 4 jours en trop. JavaScript dans un tel cas ajoutera simplement ces 4 jours excédentaires au mois suivant :

let date = new Date(2018, 0, 35); console.log(date); // donnera le 4 février

Il est possible de spécifier non seulement des jours excédentaires, mais aussi des mois. Il faut cependant se rappeler que les mois commencent à zéro, ce qui signifie que le dernier mois correct est le 11. Si vous spécifiez le 12ème mois, vous obtiendrez le janvier de l'année suivante :

let date = new Date(2018, 12, 1); // on spécifie le 12ème mois console.log(date); // donnera le 1 janvier 2019

La correction décrite fonctionne également dans le sens descendant. Comme vous le savez, le jour le plus bas d'un mois est le jour numéro 1. Par conséquent, si vous spécifiez le jour numéro 0, vous obtiendrez le dernier jour du mois précédent :

let date = new Date(2018, 1, 0); // on spécifie le jour zéro console.log(date); // donnera le 31 janvier

Il est également possible de spécifier des valeurs négatives pour les jours et les mois. Il faut dans ce cas se rappeler que le jour minimum a le numéro 1, et le mois minimum a le numéro 0. Cela signifie que le jour moins un correspondra au 2ème jour en partant de la fin du mois précédent, et le mois moins un correspondra simplement au dernier mois de l'année précédente :

let date = new Date(2018, 1, -1); // on spécifie -1 jour console.log(date); // donnera le 30 janvier
let date = new Date(2018, -1, 1); // on spécifie -1 mois console.log(date); // donnera le 1 décembre 2017

Tout ce qui a été dit ci-dessus fonctionne de manière analogue avec les heures, les minutes et les secondes :

let date = new Date(2018, 0, 1, 24, 0, 0); // on spécifie la 24ème heure console.log(date); // donnera le 2 janvier, 0 heure
let date = new Date(2018, 0, 1, 25, 0, 0); // on spécifie la 25ème heure console.log(date); // donnera le 2 janvier, 1 heure

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 1, 35); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 15, 1); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 3, 31); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 1, 31); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 12, 33); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 33, 33); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 5, 0); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 0, 0); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, -12, -33); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // quelle sera la date ?

Déterminez à quelle date JavaScript transformera le moment suivant :

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // quelle sera la date ?
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser