⊗jsPmTmAA 322 of 505 menu

Automatska korekcija datuma u JavaScript-u

JavaScript ima vrlo zanimljivu i korisnu karakteristiku: ako je prilikom kreiranja objekta Date naveden nevalidan trenutak vremena - on će automatski biti preračunat u validan. Pogledajmo na primeru.

Kao što znate, datum 35 januara ne postoji. Maksimalno mogući dan u januaru je 31. To znači da naš datum 35 januara ima 4 dodatna dana. JavaScript će u takvoj situaciji prosto dodati ta dodatna 4 dana narednom mesecu:

let datum = new Date(2018, 0, 35); console.log(datum); // dobiće se 4. februar

Moguće je navesti ne samo dodatne dane, već i mesece. Pritom treba imati na umu da meseci počinju od nule, što znači da poslednji validan mesec je 11-ti. Ako navedemo 12-ti mesec, dobićemo januar naredne godine:

let datum = new Date(2018, 12, 1); // navodimo 12. mesec console.log(datum); // dobiće se 1. januar 2019. godine

Opisana korekcija radi i u manjem smeru. Kao što znate, najmanji mogući dan u mesecu je dan sa brojem 1. Stoga, ako navedemo dan sa brojem 0, dobićemo poslednji dan prethodnog meseca:

let datum = new Date(2018, 1, 0); // navodimo nulti dan console.log(datum); // dobiće se 31. januar

Takođe je moguće navesti negativne vrednosti dana i meseci. Pritom treba zapamtiti da najmanji dan ima broj 1, a najmanji mesec - broj 0. Ovo znači da minus prvi dan pada u 2 dan od kraja prethodnog meseca, a minus prvi mesec pada prosto u poslednji mesec prethodne godine:

let datum = new Date(2018, 1, -1); // navodimo -1 dan console.log(datum); // dobiće se 30. januar
let datum = new Date(2018, -1, 1); // navodimo -1 mesec console.log(datum); // dobiće se 1. decembar 2017. godine

Sve gore rečeno analogno važi za sate, minute i sekunde:

let datum = new Date(2018, 0, 1, 24, 0, 0); // navodimo 24. sat console.log(datum); // dobiće se 2. januar, 0 sati
let datum = new Date(2018, 0, 1, 25, 0, 0); // navodimo 25. sat console.log(datum); // dobiće se 2. januar, 1 sat

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 1, 35); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 15, 1); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 3, 31); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 1, 31); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 12, 33); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 33, 33); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 5, 0); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 0, 0); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, -12, -33); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 0, 1, 23, 0, 60); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 0, 1, 23, 60, 0); console.log(datum); // koji datum će biti?

Odredite u koji datum će JavaScript pretvoriti naredni trenutak vremena:

let datum = new Date(2018, 0, 1, 100, 100, 100); console.log(datum); // koji datum će biti?
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij