How do I compare two dates in JavaScript?

JavaScript, Date, Comparison · Jan 16, 2022

Equality comparison

Comparing two dates in JavaScript using the loose or strict equality operators (== or ===) is not recommended for most cases. Equality operators compare the Date object references, resulting in false, even if the date values are the same:

const a = new Date(2022, 01, 10);
const b = new Date(2022, 01, 10);

a === b; // false


One way to compare two Date values is using the Date.prototype.getTime() method. This method returns a number indicating the number of milliseconds elapsed since the Unix Epoch:

const a = new Date(2022, 01, 10);
const b = new Date(2022, 01, 10);

a.getTime() === b.getTime(); // true

Other methods

As mentioned before, Date.prototype.getTime() is one way to compare two Date values. It's not the only one way to compare them. Other options are the following:

All of these methods produce consistent results, but we still recommend Date.prototype.getTime() due to its simplicity.

Written by Angelos Chalaris

I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. The best snippets from my coding adventures are published here to help others learn to code.

If you want to keep in touch, follow me on GitHub or Twitter.

More like this