Provera korektnosti datuma u JavaScriptu

Hajde sada da naučimo kako da proverimo datum na korektnost. Na primer, 31 januar je korektan datum, a 32 januar je nekorektan. Kao što znate, JavaScript automatski koriguje datume. U našem slučaju to znači da će 32 januar automatski postati 1 februar.

Ovo svojstvo JavaScripta možemo iskoristiti da bismo proverili da li datum postoji. Kako ćemo proveravati: kreiraćemo objekat sa datumom i pogledaćemo, da li su se delovi datuma promenili ili ne. Drugim rečima, da li je JavaScript izvršio korekciju našeg datuma ili ne. Ako jeste - znači prosleđeni datum je nekorektan, a ako nije - korektan je.

Hajde da uradimo opisanu proveru:

javascriptlet year  = 2025;
let month = 0;
let day   = 32;

let date = new Date(year, month, day);

if (date.getFullYear() == year && date.getMonth() == month && date.getDate() == day) {
  console.log('korektan');
} else {
  console.log('nekorektan');
}
Задание 1

Napravite funkciju checkDate, koja će vršiti opisanu proveru. Neka funkcija vraća true, ako je datum korektan i false, ako nije. Primer rada ove funkcije za 31 januar i 32 januar:

javascriptconsole.log(checkDate(2025, 0, 31)); // ispisaće true
console.log(checkDate(2025, 0, 32)); // ispisaće false