Стрингово поређење датума у JavaScript-у
Претпоставимо да имамо два датума у следећем текстуалном формату:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
У том случају можемо извршити поређење ових датума и сазнати који од њих је већи:
console.log(date1 > date2); // исписаће true
На који начин се врши поређење ових датума? Ствар је у томе што наши датуми представљају стрингове и JavaScript их упоређује као стрингове. То значи да прво упоређује прве карактере два датума: ако су исти, онда JavaScript упоређује друге карактере, и тако даље, док не пронађе разлику. Захваљујући томе што је у нашем формату датума прво постављена година, затим месец, а потом дан, могуће је такво поређење.
Ствар је у томе што ако цифра прве године буде већа од цифре друге године, онда већ није битно шта је са месецима и данима - прва година је дефинитивно већа. Ако се године поклапају, онда ће већи бити онај датум код ког је већи месец. А ако се и месеци поклапају, онда ће већи бити онај датум код ког је већи дан. Па, ако су и дани исти, онда су и датуми једнаки.
Такође је важно да датуми буду у истом формату. У нашем случају раздвајачи делова датума су цртице. То, наравно, није обавезно. На пример, можемо ставити тачке:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
Или чак уклонити раздвајаче:
let date1 = '20201201';
let date2 = '20191201';
Главно је да би поређење било коректно, распоред мора бити следећи: прво година, затим месец, па дан.
Напишите код који ће упоредити два дата доле наведена датума и исписати поруку о томе који од њих је већи:
let date1 = '2020-11-30';
let date2 = '2020-12-01';