JavaScript-de seneňiziň setirlerini deňeşdirmek
Aýdyň, bizde aşakdaky tekst formatynda iki sene bar:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
Şeýle ýagdaýda, bu seneleri deňeşdirip, haýsysynyň uly dugdyny anyklap bolýar:
console.log(date1 > date2); // true görkezer
Bu seneleriň deňeşdirilmegi nähili amala aşyrylýar? Aslynda, bizim senelerimiz setirleriň görnüşini alyp, we JavaScript olary setir hökmünde deňeşdirýär. Ýagny, ol ilki iki senäniň birinji nyşanlaryny deňeşdirýär: eger olar deň bolsa, JavaScript ikinji nyşanlary deňeşdirýär, we şuňa meňzeş dowam edýär, tapawut tapylýança. Bizim sene formatymyzda ilki ýyl, soň aý, soňra bolsa gün ýerleşýändigi sebäpli, munuň ýaly deňeşdirme mümkindir.
Mesele şonda, eger birinji ýylyň sanamy ikinji ýylyň sanamundan uly bolsa, onda aýlaryň we günleriň näme bolandygynyň ähmiýeti galmaýar - birinji ýyl kesgitli uly. Eger-de ýyllar gabat gelýän bolsa, onda aýy uly bolan sene uly bolar. Eger-de aýlar hem gabat gelýän bolsa, onda güni uly bolan sene uly bolar. Eger-de günler hem deň bolsa, onda seneler hem deňdir.
Seneleriň bir formatda bolmagy hem möhümdir. Bizim ýagdaýymyzda sene bölekleriniň arasyndaky bölüji defislerdir. Bu, elbetde, hökmany däl. Mysal üçin, nokatlar goýup bolýar:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
Ýa-da bölüjileri aýyryp taşlasaň bolýar:
let date1 = '20201201';
let date2 = '20191201';
Esasy, deňeşdirme dogry bolmagy üçin, ýerleşiş aşakdaky ýaly bolmaly: ilki ýyl, soň aý, soňra gün.
Aşakda berlen iki senäni deňeşdirýän we haýsysynyň uly dugdyny habar berýän kody ýazyň:
let date1 = '2020-11-30';
let date2 = '2020-12-01';