How do I compare two dates in JavaScript?

Angelos Chalaris · 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

Date.prototype.getTime()

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.

Recommended snippets & collections