Primerjanje nizov datumov v JavaScriptu
Recimo, da imamo dva datuma v naslednji besedilni obliki:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
V tem primeru lahko izvedemo primerjavo teh datumov in ugotovimo, kateri od teh datumov je večji:
console.log(date1 > date2); // izpiše true
Kako poteka primerjava teh datumov? Bistvo je v tem, da so naši datumi predstavljeni kot nizi in JavaScript jih primerja kot nize. To pomeni, da najprej primerja prve znake dveh datumov: če so enaki, potem JavaScript primerja druge znake, in tako naprej, dokler ne najde razlike. Zahvaljujoč temu, da je v naši obliki datuma najprej leto, nato mesec in nato dan, je taka primerjava mogoča.
Bistvo je v tem, da če je številka prvega leta večja od številke drugega leta, potem že ni pomembno, kaj je z meseci in dnevi - prvo leto je zagotovo večje. Če leta sovpadajo, potem je večji datum tisti, ki ima večji mesec. In če tudi meseci sovpadajo, potem je večji tisti datum, ki ima večji dan. No, če so tudi dnevi enaki, potem so datumi enaki.
Pomembno je tudi, da so datumi v enaki obliki. V našem primeru so ločila delov datumov pomišljaji. To seveda ni obvezno. Na primer, lahko postavimo pike:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
Ali pa celo odstranimo ločila:
let date1 = '20201201';
let date2 = '20191201';
Glavno je, da je primerjava pravilna, razporeditev mora biti naslednja: najprej leto, nato mesec, nato dan.
Napišite kodo, ki bo primerjala dva spodaj navedena datuma in izpisala sporočilo o tem, kateri od njiju je večji:
let date1 = '2020-11-30';
let date2 = '2020-12-01';