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.
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.