From a JavaScript date instance, we can get the day, month and year values by using getDate(), getMonth() and getFullYear() methods:

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

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

Now let's create a small function that takes a date as an argument and compares the above values to today's date values, and returns true if both are same:

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

Here is how you can use it:

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

Alternatively, you can extend the date object by adding the above function directly to object prototype like below:

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

Now just call isToday() method on any date object to compare it with today's date:

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

✌️ Like this article? Follow @attacomsian on Twitter. You can also follow me on LinkedIn and DEV. Buy me a coffee (cost $3)

Need help to start a new Spring Boot or MEAN stack project? I am available for contract work. Hire me to accomplish your business goals with engineering and design. Let’s talk about your project: hi@attacomsian.com.