Compare two dates
Compare validated ISO calendar dates in UTC and return -1, 0 or 1.
function compareDates({ first, second }) { return Math.sign(new Date(first).getTime() - new Date(second).getTime()); }
Input & expected output
Input
{
"first": "2026-10-28",
"second": "2026-10-29"
}Expected output
-1The edge case
Input
{
"first": "2024-02-29",
"second": "2024-02-29"
}Expected output
0Know the limits
- The lab requires real YYYY-MM-DD calendar dates and validates before execution.
- This compares UTC calendar dates, not local business days or ambiguous date strings.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Compare two dates from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Curated implementation; explicit input bounds, edge cases, local fixtures and rebuilt presentation. Original MDX retained as inert source evidence.
Maintained by Oveyon. Original source commit: 14b481cf60df. This edition’s file: contents/compare-two-dates.mdx in akamind/1loc, commit 0a77f131b22d. Read the license.
Keep exploring
- Add AM PM suffix to an hour — Turn an hour from 0 to 23 into a 12-hour label with am or pm.
- Calculate the number of days between two dates — Count whole calendar days between two YYYY-MM-DD dates.
- Convert a date to YYYY-MM-DD format — Format an ISO date-time as its UTC calendar date.