⊗jsPmTmAA 322 of 505 menu

Samodejna korekcija datumov v JavaScriptu

JavaScript ima zelo zanimivo in uporabno lastnost: če je pri ustvarjanju objekta Date določen neveljaven trenutek časa - bo samodejno preračunan v veljavnega. Poglejmo si primer.

Kot veste, datum 35 januarja ne obstaja. Maksimalni možni dan januarja je 31. Izkazalo se je, da ima naš datum 35 januarja 4 odvečne dni. JavaScript v takem primeru preprosto doda teh odvečnih 4 dni naslednjemu mesecu:

let date = new Date(2018, 0, 35); console.log(date); // rezultat bo 4. februar

Lahko določite ne le odvečne dni, ampak tudi mesece. Pri tem je treba upoštevati, da se meseci začenjajo z ničlo, kar pomeni, da je zadnji veljaven mesec 11-ti. Če določite 12-ti mesec, bo rezultat januar naslednjega leta:

let date = new Date(2018, 12, 1); // določimo 12. mesec console.log(date); // rezultat bo 1. januar 2019

Opisana korekcija deluje tudi v manjšo smer. Kot veste, je najmanjši dan v mesecu dan s številko 1. Zato, če določite dan s številko 0, boste dobili zadnji dan prejšnjega meseca:

let date = new Date(2018, 1, 0); // določimo ničti dan console.log(date); // rezultat bo 31. januar

Lahko določite tudi negativne vrednosti dnevov in mesecev. Pri tem je treba upoštevati, da ima najmanjši dan številko 1, a najmanjši mesec - številko 0. To pomeni, da minus prvi dan pade v 2 dan od konca prejšnjega meseca, minus prvi mesec pa preprosto pade v zadnji mesec prejšnjega leta:

let date = new Date(2018, 1, -1); // določimo -1 dan console.log(date); // rezultat bo 30. januar
let date = new Date(2018, -1, 1); // določimo -1 mesec console.log(date); // rezultat bo 1. december 2017

Vse zgoraj navedeno deluje podobno pri urah, minutah in sekundah:

let date = new Date(2018, 0, 1, 24, 0, 0); // določimo 24. uro console.log(date); // rezultat bo 2. januar, 0 ur
let date = new Date(2018, 0, 1, 25, 0, 0); // določimo 25. uro console.log(date); // rezultat bo 2. januar, 1 ura

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 1, 35); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 15, 1); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 3, 31); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 1, 31); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 12, 33); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 33, 33); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 5, 0); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 0, 0); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, -12, -33); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // kateri datum bo?

Določite, v kateri datum bo JavaScript spremenil naslednji trenutek časa:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // kateri datum bo?
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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni