Krahasimi i vargjeve të datave në JavaScript
Le të themi se kemi dy data në formatin e mëposhtëm tekstual:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
Në këtë rast, mund të kryeni krahasimin e këtyre datave dhe të zbuloni se cila prej këtyre datave është më e madhe:
console.log(date1 > date2); // do të shfaqë true
Si ndodh krahasimi i këtyre datave? Çështja është se datat tona përfaqësojnë vargje dhe JavaScript i krahason ato si vargje. Kjo do të thotë se fillimisht krahason karakteret e para të dy datave: nëse ato janë të njëjta, atëherë JavaScript krahason karakteret e dyta, e kështu me radhë, derisa të gjejë një ndryshim. Falë faktit se në formatin tonë të datave fillimisht vendoset viti, pastaj muaji dhe më pas dita, është i mundur një krahasim i tillë.
Çështja është se nëse shifra e vitit të parë rezulton më e madhe se shifra e vitit të dytë, do të thotë se tashmë nuk ka rëndësi se çfarë ndodh me muajt dhe ditët - viti i parë është padyshim më i madh. Nëse vitet përputhen, atëherë data më e madhe do të jetë ajo me muaj më të madh. Dhe nëse edhe muajt përputhen, atëherë më e madhe do të jetë ajo datë që ka ditë më të madhe. Epo, dhe nëse edhe ditët janë të njëjta, atëherë datat janë të barabarta.
Është gjithashtu e rëndësishme që datat të jenë në të njëjtin format. Në rastin tonë, ndarësit e pjesëve të datave janë vizat. Kjo, sigurisht, nuk është e detyrueshme. Për shembull, mund të vendosni pika:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
Ose mund t'i hiqni fare ndarësit:
let date1 = '20201201';
let date2 = '20191201';
Gjëja kryesore është që krahasimi të jetë korrekt, vendosja duhet të jetë si më poshtë: fillimisht viti, pastaj muaji, pastaj dita.
Shkruani kodin që do të krahasonjë dy datat e paraqitura më poshtë dhe do të shfaqë një mesazh se cila prej tyre është më e madhe:
let date1 = '2020-11-30';
let date2 = '2020-12-01';