Korrigjimi Automatik i Datave në JavaScript
JavaScript ka një veçori shumë interesante dhe të dobishme:
nëse gjatë krijimit të objektit Date
është specifikuar një moment i pasaktë i kohës -
ai automatikisht do të rillogaritet në një të saktë.
Le të shohim me një shembull.
Siç e dini, data 35 janar nuk ekziston.
Dita maksimale e mundshme e janarit është 31.
Kjo do të thotë se data jonë 35 janar
ka 4 ditë të tepërta. JavaScript në një
rast të tillë thjesht do t'i shtojë këto 4
ditë të tepërta muajit të ardhshëm:
let date = new Date(2018, 0, 35);
console.log(date); // do të jetë 4 shkurt
Mund të specifikohen jo vetëm ditë të tepërta, por
edhe muaj. Në këtë rast, duhet mbajtur mend se muajt
fillojnë nga zero, që do të thotë se muaji i fundit i saktë
është 11-të. Nëse specifikohet muaji i 12-të,
do të fitohet janari i vitit të ardhshëm:
let date = new Date(2018, 12, 1); // specifikojmë muajin e 12-të
console.log(date); // do të jetë 1 janar 2019
Korrigjimi i përshkruar funksionon edhe në drejtim
zvogëlues. Siç e dini, dita më minimale
e muajit është dita me numër 1.
Prandaj, nëse specifikohet dita me numër 0,
do të fitohet dita e fundit e muajit të kaluar:
let date = new Date(2018, 1, 0); // specifikojmë ditën zero
console.log(date); // do të jetë 31 janar
Mund të specifikohen gjithashtu vlera negative
të ditëve dhe muajve. Në këtë rast, duhet mbajtur mend se
dita minimale ka numër 1, ndërsa
muaji minimal - numër 0. Kjo do të thotë
se dita minus e parë bie në ditën e 2
të fundit të muajit të kaluar, ndërsa minus
muaji i parë thjesht bie në muajin e fundit
të vitit të kaluar:
let date = new Date(2018, 1, -1); // specifikojmë -1 ditë
console.log(date); // do të jetë 30 janar
let date = new Date(2018, -1, 1); // specifikojmë -1 muaj
console.log(date); // do të jetë 1 dhjetor 2017
E gjithë sa më sipër funksionon në mënyrë të ngjashme me orët, minutat dhe sekondat:
let date = new Date(2018, 0, 1, 24, 0, 0); // specifikojmë orën e 24-të
console.log(date); // do të jetë 2 janar, 0 orë
let date = new Date(2018, 0, 1, 25, 0, 0); // specifikojmë orën e 25-të
console.log(date); // do të jetë 2 janar, 1 orë
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 1, 35);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 15, 1);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 3, 31);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 1, 31);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 12, 33);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 33, 33);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 5, 0);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 0, 0);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, -12, -33);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 0, 1, 23, 0, 60);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 0, 1, 23, 60, 0);
console.log(date); // cila datë do të jetë?
Përcaktoni, në cilën datë JavaScript do ta transformojë momentin e mëposhtëm të kohës:
let date = new Date(2018, 0, 1, 100, 100, 100);
console.log(date); // cila datë do të jetë?