⊗jsPmTmAA 322 of 505 menu

Automatická korekcia dátumov v JavaScripte

JavaScript má veľmi zaujímavú a užitočnú vlastnosť: ak pri vytvorení objektu Date bol zadaný nekorektný časový okamih - automaticky sa prepočíta na korektný. Pozrime sa na príklad.

Ako viete, dátum 35 januára neexistuje. Maximálne možný deň januára je 31. To znamená, že náš dátum 35 januára má 4 nadbytočné dni. JavaScript v takom prípade jednoducho pripočíta tieto nadbytočné 4 dni k nasledujúcemu mesiacu:

let date = new Date(2018, 0, 35); console.log(date); // výsledok bude 4. február

Je možné uvádzať nielen nadbytočné dni, ale aj mesiace. Pri tom treba pamätať, že mesiace začínajú od nuly, a preto posledný korektný mesiac je 11-tý. Ak uvedieme 12-tý mesiac, dostaneme január nasledujúceho roku:

let date = new Date(2018, 12, 1); // uvádzame 12-tý mesiac console.log(date); // výsledok bude 1. január 2019

Opísaná korekcia funguje aj na menšiu stranu. Ako viete, najmenším možným dňom mesiaca je deň s číslom 1. Preto, ak uvedieme deň s číslom 0, dostaneme posledný deň predchádzajúceho mesiaca:

let date = new Date(2018, 1, 0); // uvádzame nulový deň console.log(date); // výsledok bude 31. január

Je možné uvádzať aj záporné hodnoty dní a mesiacov. Pri tom treba pamätať, že minimálny deň má číslo 1, a minimálny mesiac - číslo 0. To znamená, že mínus prvý deň pripadne na 2 deň od konca predchádzajúceho mesiaca, a mínus prvý mesiac pripadne jednoducho na posledný mesiac predchádzajúceho roku:

let date = new Date(2018, 1, -1); // uvádzame -1 deň console.log(date); // výsledok bude 30. január
let date = new Date(2018, -1, 1); // uvádzame -1 mesiac console.log(date); // výsledok bude 1. december 2017

Všetko uvedené vyššie analogicky funguje s hodinami, minútami a sekundami:

let date = new Date(2018, 0, 1, 24, 0, 0); // uvádzame 24-tu hodinu console.log(date); // výsledok bude 2. január, 0 hodín
let date = new Date(2018, 0, 1, 25, 0, 0); // uvádzame 25-tu hodinu console.log(date); // výsledok bude 2. január, 1 hodina

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 1, 35); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 15, 1); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 3, 31); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 1, 31); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 12, 33); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 33, 33); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 5, 0); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 0, 0); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, -12, -33); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // aký dátum bude?

Určite, na aký dátum JavaScript pretransformuje nasledujúci časový okamih:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // aký dátum bude?
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť