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
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:
Date.prototype.toISOString()
Date.prototype.toUTCString()
Date.prototype.toLocaleDateString()
provided you use the same locale
All of these methods produce consistent results, but we still recommend Date.prototype.getTime()
due to its simplicity.