⊗jsPmTmAA 322 of 505 menu

Corecția automată a datelor în JavaScript

JavaScript are o caracteristică foarte interesantă și utilă: dacă la crearea obiectului Date a fost specificat un moment de timp incorect - acesta va fi recalculat automat în unul corect. Să ne uităm la un exemplu.

După cum știți, data de 35 ianuarie nu există. Ziua maximă posibilă a lunii ianuarie este 31. Rezultă că data noastră de 35 ianuarie are 4 zile în plus. JavaScript în astfel de caz va adăuga pur și simplu aceste 4 zile în plus la luna următoare:

let date = new Date(2018, 0, 35); console.log(date); // va rezulta 4 februarie

Pot fi specificate nu doar zile în plus, ci și luni. În acest caz, trebuie reținut că lunile încep de la zero, ceea ce înseamnă că ultima lună corectă este 11-lea. Dacă specificăm 12-lea luna, va rezulta ianuarie a anului următor:

let date = new Date(2018, 12, 1); // specificăm luna a 12-a console.log(date); // va rezulta 1 ianuarie 2019

Corecția descrisă funcționează și în direcția descrescătoare. După cum știți, cea mai mică zi a lunii este ziua cu numărul 1. Prin urmare, dacă specificați ziua cu numărul 0, va rezulta ultima zi a lunii precedente:

let date = new Date(2018, 1, 0); // specificăm ziua zero console.log(date); // va rezulta 31 ianuarie

De asemenea, pot fi specificate valori negative pentru zile și luni. În acest caz, trebuie reținut că ziua minimă are numărul 1, iar luna minimă - numărul 0. Aceasta înseamnă că prima zi negativă va cădea în 2 zile de la sfârșitul lunii precedente, iar prima luna negativă va cădea pur și simplu în ultima lună a anului precedent:

let date = new Date(2018, 1, -1); // specificăm -1 zi console.log(date); // va rezulta 30 ianuarie
let date = new Date(2018, -1, 1); // specificăm -1 lună console.log(date); // va rezulta 1 decembrie 2017

Tot ce s-a spus mai sus funcționează similar cu orele, minutele și secundele:

let date = new Date(2018, 0, 1, 24, 0, 0); // specificăm ora a 24-a console.log(date); // va rezulta 2 ianuarie, 0 ore
let date = new Date(2018, 0, 1, 25, 0, 0); // specificăm ora a 25-a console.log(date); // va rezulta 2 ianuarie, 1 oră

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 1, 35); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 15, 1); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 3, 31); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 1, 31); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 12, 33); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 33, 33); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 5, 0); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 0, 0); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, -12, -33); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // ce dată va fi?

Determinați în ce dată JavaScript va transforma următorul moment de timp:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // ce dată va fi?
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge