JavaScript-de seneňleri awtomatik düzetmegi
JavaScript-iň aýratyn gyzykly we peýdaly
aýratynlygy bar: eger Date obyekti döredilende
nädogry wagt görkezilen bolsa -
ol awtomatik usulda dogry hasaplanyp bolar.
Geliň, mysal görüň.
Bilşiňiz ýaly, ýanwar aýynyň 35-i ýok.
Ýanwar aýynyň iň uly güni - 31.
Şeýlelikde, bizim 35 ýanwar seneňiz
4 artykmaç güne eýe. Şeýle ýagdaýda JavaScript
diňe şol artykmaç 4
güni indiki aýa goşar:
let date = new Date(2018, 0, 35);
console.log(date); // 4 fewral bolup çykar
Diňe artykmaç günleri däl, eýsem
aýlary hem görkezip bolýar. Şonda ýatda saklamaly,
aýlar noldan başlaýar, şonuň üçin iň soňky dogry
aý - 11-inji aý. Eger 12-inji aýy görkezseňiz,
onda indiki ýylyň ýanwar aýy çykar:
let date = new Date(2018, 12, 1); // 12-nji aýy görkezýäris
console.log(date); // 2019-njy ýylyň 1 ýanwary bolup çykar
Beýan edilen düzetme kiçelmek tarapda hem işleýär.
Bilşiňiz ýaly, aýyň iň kiçi
güni 1 belgili gündir.
Şonuň üçin, 0 belgili güni görkezseňiz,
onda öňki aýyň iň soňky güni çykar:
let date = new Date(2018, 1, 0); // nol belgili güni görkezýäris
console.log(date); // 31 ýanwar bolup çykar
Günleriň we aýlaryň negatiw bahalaryny hem
görkezip bolýar. Şonda ýatda saklamaly,
iň kiçi gün 1 belgili, we
iň kiçi aý - 0 belgilidir. Bu diýmek,
minus birinji gün öňki aýyň 2
iň soňky gününe düşýär, we minus
birinji aý öňki ýylyň iň soňky
aýyna düşýär:
let date = new Date(2018, 1, -1); // -1 güni görkezýäris
console.log(date); // 30 ýanwar bolup çykar
let date = new Date(2018, -1, 1); // -1 aýy görkezýäris
console.log(date); // 2017-nji ýylyň 1 dekabry bolup çykar
Ýokarda aýdylanlaryň hemmesi sagatlar, minutlar we sekuntlar bilen hem şoňuň ýaly işleýär:
let date = new Date(2018, 0, 1, 24, 0, 0); // 24-nji sagady görkezýäris
console.log(date); // 2-nji ýanwar, 0 sagat bolup çykar
let date = new Date(2018, 0, 1, 25, 0, 0); // 25-nji sagady görkezýäris
console.log(date); // 2-nji ýanwar, 1 sagat bolup çykar
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 1, 35);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 15, 1);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 3, 31);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 1, 31);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 12, 33);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 33, 33);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 5, 0);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 0, 0);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, -12, -33);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 0, 1, 23, 0, 60);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 0, 1, 23, 60, 0);
console.log(date); // haýsy sene bolar?
JavaScript aşakdaky wagt görkezimini haýsy sene öwrer, anyklaň:
let date = new Date(2018, 0, 1, 100, 100, 100);
console.log(date); // haýsy sene bolar?