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';