Date Calculator
Two date tools in one: count the time between two dates — as years, months, and days, and as total days and weeks — or add and subtract days, weeks, months, and years from a date. Leap years and month lengths are handled exactly. For ages specifically, see the Age Calculator.
Days between two dates
Example: 2026-01-01 to 2026-07-17 is 197 days.
Add or subtract from a date
Example: 2026-07-17 + 90 days = 2026-10-15.
Why calendar math is tricky
Months are 28–31 days long, years are 365 or 366, and "one month later" from January 31 lands on a day that does not exist. This calculator works on the real calendar: the difference between 2026-01-01 and 2026-07-17 is 6 months 16 days — exactly 197 days, or 28 weeks 1 days — and impossible dates clamp to the month's last day instead of silently rolling over.
Common uses
Project deadlines ("what is 90 days from today?"), notice periods, visa and warranty windows, invoice due dates, pregnancy and medication schedules, and countdowns to events. For contract work, note whether your counterparty counts calendar days (this tool) or business days, which excludes weekends and holidays.
Frequently asked questions
Are the start and end dates included in the count?
The difference counts nights between the dates: Jan 1 to Jan 2 is 1 day. If you need both endpoints counted (for example, days of a rental including pickup and return days), add 1 to the total.
How are leap years handled?
Exactly — the engine works on the real calendar, so February 29 exists in leap years and date arithmetic across it is correct. Feb 29 minus one year clamps to Feb 28.
What happens when I add a month to January 31?
There is no February 31, so the result clamps to the last day of February — 2026-02-28 in 2026. This end-of-month clamping matches how billing anniversaries and subscriptions typically behave.
Does the calculator use my time zone?
No — dates are treated as pure calendar dates with no time-of-day or time-zone component, so the same inputs give the same answer everywhere.
Dates are processed locally in your browser and never transmitted. The engine is tested across leap years and month-end edge cases — see the methodology page.