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.

Result date -

How to Use

1
Pick a mode

Switch between "Date ± duration" and "Difference between two dates".

2
Enter values

Add/subtract: pick a base date and enter years/months/weeks/days. Difference: pick start and end dates.

3
Read & copy

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.