Jak zkontrolovat, zda je datum dnes v JavaScriptu

Z instance data JavaScript můžeme získat hodnoty dne, měsíce a roku pomocí getDate() , getMonth() a getFullYear() metody:

// month is zero-based (0-11)
const date = new Date(2019, 7, 7);

date.getDate(); // 7
date.getMonth(); // 7
date.getFullYear(); // 2019

Nyní vytvoříme malou funkci, která vezme datum jako argument a porovná výše uvedené hodnoty s dnešními hodnotami data a vrátí true, pokud jsou obě stejné:

const isToday = (date) => {
    const today = new Date()
    return date.getDate() === today.getDate() &&
        date.getMonth() === today.getMonth() &&
        date.getFullYear() === today.getFullYear();
};

Zde je návod, jak jej můžete použít:

const date = new Date(2019, 7, 7);
console.log(isToday(date)); // true

Případně můžete rozšířit objekt data přidáním výše uvedené funkce přímo do prototypu objektu, jak je uvedeno níže:

Date.prototype.isToday = function () {
    const today = new Date()
    return this.getDate() === today.getDate() &&
    this.getMonth() === today.getMonth() &&
    this.getFullYear() === today.getFullYear();
};

Nyní stačí zavolat na isToday() metoda na libovolném datovém objektu pro porovnání s dnešním datem:

const date = new Date(2019, 7, 7);
console.log(date.isToday());