Date Calculator
Add or subtract any combination of days, weeks, months, and years from a date — or measure the precise duration between two dates. Useful for trips, leases, and contract terms.
How to Use
Switch between "Date ± duration" and "Difference between two dates".
Add/subtract: pick a base date and enter years/months/weeks/days. Difference: pick start and end dates.
See the result date with weekday, or the duration broken into years/months/days plus total days/weeks. Copy with one click.
FAQ
How is adding months handled?
"Add N months" lands on the same day-of-month N months later. Jan 31 + 1 month = Feb 28 (or Feb 29 in leap years), per JavaScript Date semantics — it never overflows to Mar 3.
How is "Y years M months D days" derived?
Add as many full years to the start date as fit, then months, then remaining days, until you hit the end date. The same approach Korean "만나이" / international age calculators use.
What if the gap is less than 24 hours?
The tool works at day granularity, so hours/minutes/seconds are ignored (everything compared at midnight). For sub-day precision use another tool.
Are leap years and 30/31-day months automatic?
Yes — the JavaScript Date object handles leap years (Feb 29) and varying month lengths. Feb 29 2024 + 1 year = Feb 28 2025.
Is anything sent to a server?
No. All math runs in your browser; input dates never leave the page.