Стрингово споредување на датуми во JavaScript

Нека имаме два датуми во следниот текстуален формат:

javascriptlet date1 = '2020-12-01';
let date2 = '2019-12-01';

Во ваков случај може да се изврши споредба на овие датуми и да се дознае, кој од овие датуми е поголем:

javascriptconsole.log(date1 > date2); // ќе испринта true

Како се случува споредбата на овие датуми? Работата е што нашите датуми претставуваат стрингови и JavaScript ги споредува како стрингови. Тоа значи дека прво ги споредува првите знаци од двата датуми: ако тие се исти, тогаш JavaScript ги споредува вторите знаци, и така натаму, се додека не најде разлика. Поради тоа што во нашиот формат на датуми прво е расположена годината, потоа месецот, а потоа денот, и можно е такво споредување.

Работата е што ако цифрата на првата година испадне поголема од цифрата на втората година, значи веќе нема значење, што има таму со месеците и деновите - првата година дефинитивно е поголема. Ако пак годините се совпаѓаат, тогаш поголем ќе биде оној датум, кај кој поголем е месецот. А ако и месеците се совпаѓаат, тогаш поголем ќе биде оној датум, кај кој поголем е денот. Па, а ако и деновите се исти, тогаш и датумите се еднакви.

Важно е исто така, датумите да бидат во ист формат. Во нашиот случај, разделувачите на деловите од датумите се цртички. Ова, се разбира, не е задолжително. На пример, може да се стават точки:

javascriptlet date1 = '2020.12.01';
let date2 = '2019.12.01';

Или воопшто да се отстранат разделувачите:

javascriptlet date1 = '20201201';
let date2 = '20191201';

Главно, за споредбата да биде коректна, распоредувањето мора да биде следно: прво година, потоа месец, потоа ден.

Задание 1

Напишете код, кој ќе ги спореди двата прикажани подолу датуми и ќе испринта порака за тоа, кој од нив е поголем:

javascriptlet date1 = '2020-11-30';
let date2 = '2020-12-01';