Days Between Dates Calculator

Count the exact days between two dates, with a years and months breakdown and a weekday count, or find the date a number of days before or after another.

🌐 Español

🔒 Private by design: everything is generated locally in your browser and never uploaded to any server.

Filling in the fields

  1. Leave Calculation on “Days between two dates” for a difference, or switch it to Add/subtract days from a date (e.g. “90 days from today”) for the reverse question.
  2. Leave Use today (your device’s local date) as the start date, instead of the Start date fields below ticked to start from the current date, or untick it and fill in Start date, Year, Start date, Month and Start date, Day yourself.
  3. In difference mode, fill in the three End date fields the same way. In add and subtract mode, put a number into Days to add (positive) or subtract (negative) instead.
  4. Untick Include a business days (Mon-Fri) count, used only in “Days between two dates” mode if you do not want the weekday line in the report.
  5. Click Days Between Dates Calculator to run it, then use Copy to clipboard for the whole report or Generate more to go back and adjust a field.

Two dates in, four lines of arithmetic out

The report is plain text, and it repeats both dates back to you in words before it gives you anything else. That echo is worth reading, because it shows exactly which dates the arithmetic used after any clamping.

Take January 1, 2026 to December 25, 2026 with the business days line switched on. The total is 358 days. The breakdown reads 0 years, 11 months, 3 weeks and 3 days. Total weeks, rounded down, is 51. Business days come out at 256. Four lines, all describing the same span in the units people actually ask for.

Add and subtract mode is shorter. Starting from July 9, 2026 and adding 90 gives October 7, 2026, printed with the direction spelled out underneath so a negative offset cannot be misread. A negative number moves backwards, and the field accepts anything from minus one hundred thousand to one hundred thousand, which is a range of roughly 273 years in either direction.

The gap convention, and when to add one day

Total days is a subtraction, not a tally of the days you would tick off on a wall calendar. That is the right answer for a deadline, an age, a notice period or a countdown, and the wrong answer for anything where both the first and last day count as full days. Hotel nights, for instance, match the gap exactly, while a conference that runs Monday to Wednesday is three days long even though the gap is two.

There is no toggle for this, on purpose. Inclusive counting rules differ between contracts, jurisdictions and industries, so the tool reports the unambiguous figure and leaves the plus one to you. If you specifically want an age rather than a span, the Age Calculator applies the birthday convention directly and does the as-of-date bookkeeping for you.

Greedy breakdown, and why January 31 to February 29 is exactly one month

The years, months, weeks and days line is built largest unit first. It adds as many whole calendar years to the start date as will still fit inside the span, then as many whole months to what is left, then whole weeks, then the leftover days.

Adding a month clamps the day of the month to the target month’s real length rather than rolling over into the next one. That single rule is what makes the awkward cases read sensibly. January 31, 2024 to February 29, 2024 comes out as 29 total days and a breakdown of exactly 1 month, 0 weeks, 0 days, because January 31 plus one month lands on February 29 in a leap year. A naive implementation that rolled over to March 2 would report zero months and a pile of loose days instead.

The consequence to keep in mind is that a month is not a fixed number of days here. Two spans with the same total can break down differently depending on which months they cross, and that is a feature of calendar arithmetic rather than a rounding error.

Business days without a holiday calendar

The weekday line is a plain Monday to Friday count. Every Saturday and Sunday inside the span is skipped and nothing else is. There is no public holiday data behind it, because holidays depend on country, region and sometimes employer, and a wrong holiday list is worse than none.

Treat it as an upper bound on real working days. For shipping estimates and contractual deadlines that is usually what you want anyway, with any national holidays subtracted by hand afterwards. If your question is really about hours worked rather than days elapsed, the Timesheet Calculator totals clock-in and clock-out times, breaks and overtime instead.

Timezones, four-digit years and other edges

Date calculators have a habit of disagreeing with each other by one day, and timezones are almost always the reason. Every date here is handled as a bare calendar date with no time of day attached, and the internal arithmetic is anchored to UTC from start to finish, so the same two dates give the same answer on a laptop in Tokyo and one in Los Angeles.

There is exactly one deliberate exception. The Use today checkbox reads your device’s own local calendar date, because someone asking for ninety days from today means their today, not a UTC value that may already have rolled over. That reading happens once, and everything after it is the same timezone-free arithmetic as any manually typed date.

Two limits are worth knowing. Years below 100 are not handled correctly, as noted in the questions below, so use a year of 100 or above. And a day number larger than the month allows is silently pulled back to the last valid day rather than rejected. For the week number a given date falls into, the Week Number Checker does ISO 8601 properly, and for a live ticking display rather than a static figure there is Countdown to Date. Everything else in this family sits on the calculators hub, including the Unix Timestamp Converter if you need the same instant as an epoch value.

See it in action

Screenshot of the Days Between Dates Calculator tool with Calculation set to Days between two dates, Use today (your device's local date) as the start date, instead of the Start date fields below set to on
Days Between Dates Calculator mid-process: Calculation set to Days between two dates, Use today (your device's local date) as the start date, instead of the Start date fields below set to on.
Screenshot of the Days Between Dates Calculator result screen showing the generated output “=== DAYS BETWEEN DATES === Start date: August 5,…”
The finished result: the generated output “=== DAYS BETWEEN DATES === Start date: August 5,…”. The download link is a local blob URL — the file never leaves your device.

Frequently asked questions

Should I add one to the total when I am counting how long something lasted?

Often, yes. The headline figure is the gap between the two calendar dates, so January 1 to January 2 reports 1 and a date compared with itself reports 0. A two-day event held on those same two dates is two days long, so add one whenever both endpoints count. Rental, notice and stay-length wording varies, which is why the raw gap is reported rather than a guess about which convention you meant.

There is an extra note line above the numbers in my result. What is it telling me?

One of two things. If the end date you entered falls before the start date, the note says so and the figures below it are the absolute size of the gap rather than a negative number. If both dates are identical, the note points that out and every figure is zero. Neither one is an error and neither one changes the arithmetic.

I entered February 31 by mistake. Did it reject the date?

No, it moved the day back to the last real day of that month, so February 31 becomes February 29 in a leap year and February 28 otherwise. The same clamping catches April 31 and any other day number a month cannot hold. The date printed at the top of the result is the one that was actually used, so check that line if a total looks a day off.

Does the business days figure include the start date itself?

No. It counts weekdays from the day after the start date through to the end date, which keeps it consistent with the gap convention used for the total. Two dates on the same day therefore give zero business days. The order you enter the dates in makes no difference, since the count is taken across the absolute span either way.

Can I try a different end date without retyping every field?

Yes. When the result appears, the fields are replaced by the output box, and the Generate more button brings them back with everything you typed still in place. Change one number, run it again, and only that field has moved. Copy to clipboard grabs the whole report first if you want to keep the previous answer.

Can I use it for a date in the first century, such as the year 45?

Not reliably. The underlying JavaScript date arithmetic interprets any year below 100 as a year in the 1900s, so a year entered as 45 is calculated as 1945. The date echoed back still reads 45 while the result of an add or subtract prints the shifted 1945, so the two lines contradict each other. Stick to a year of 100 or above, which covers every practical use of a date calculator.

Related tools