Add & Subtract • Days Between • No Sign-in

Date Calculator

Add to or Subtract From a Date

Combine years, months, weeks and days in one step. Months are applied before days, and clamped to the end of the month.

Today:
Defaults to today in your own time zone.
Starts at 30 so the console has something to show.

Nothing you type leaves this page.

Days Between Two Dates

Exclusive and inclusive counts, weeks, whole months, weekdays, weekend days and leap days across the span.

Today:
Defaults to today.
Putting the earlier date second is fine — the span is counted forward either way.

Nothing you type leaves this page.
Quick Answer • How do I add or subtract days from a date?

Enter the start date, choose add or subtract, and type the interval. Years and months are applied first as clamped month steps, then weeks and days as flat days — so 31 Jan 2026 + 1 month = 28 Feb 2026, and 1 May 2026 + 90 days = 30 Jul 2026 while + 3 months = 1 Aug 2026. For a span, the calculator gives both the exclusive count (days between) and the inclusive count (both endpoints counted).

Move a date forward or back by any combination of years, months, weeks and days, or measure the exact span between two dates in days, weeks, months, weekdays and weekend days. Both consoles start from today's date on your own device and update as you type.

1. Two questions, two calculators

Almost every date question is one of two shapes. Either you have a date and an interval and want the date you land on — what is 90 days from today? — or you have two dates and want the distance between them — how many days until 25 December? Both are above: the first console shifts a date, the second measures a span.

Neither one needs a submit button. Both recompute as you type, and both start from today's date as your own device reports it, because a statically served page cannot know what day it is until it reaches your browser.

The two are not interchangeable, and the difference is not pedantry. Shifting by three months and shifting by 90 days land on different dates in most of the year, and a span measured inclusively is one day longer than the same span measured exclusively. Both traps have their own section below.

Two neighbouring questions need different arithmetic and are answered elsewhere. A span shorter than a day — 09:40 to 17:15, or a duration added to a clock reading — is hours, minutes and seconds rather than whole days, which is what the time calculator works in. A span you want expressed as years, months and days at once is a clamped month step rather than a day count, and that is the age calculator.

2. How the interval is applied, and why the order matters

When you add years, months, weeks and days at once, they are not applied in a single step. Years and months are converted to a number of months and applied first; weeks and days are then added as a flat count of days. That is the same order spreadsheets use for EDATE, and the same order the JavaScript Temporal API uses, so a result here matches what those produce.

Order matters because month steps are clamped. Add one month to 31 January and there is no 31 February to land on, so the result is the last day of the month you arrive in — 28 February, or 29 February in a leap year. Nothing is carried into March.

Starting dateIntervalResult
31 January 2026+ 1 month28 February 2026
31 January 2028+ 1 month29 February 2028
31 January 2026+ 1 month, then + 30 days30 March 2026
31 January 2026+ 30 days, then + 1 month2 April 2026

The last two rows are the same arithmetic in a different order and they differ by three days. If a contract says “one month and 30 days”, it is worth knowing which order the other party has in mind.

Subtracting is the same rule in reverse Subtract one month from 31 March and you get 28 February, not 3 March. Clamping is not reversible: adding a month to that result gives 28 March, not the 31 March you started from.

3. Three months is not 90 days

A calendar month is 28, 29, 30 or 31 days long, so a fixed number of days only matches a number of months by coincidence. The gap is widest across the long-month stretch in summer:

From+ 90 days+ 3 months
1 May 202630 July 20261 August 2026
1 December 20261 March 20271 March 2027
1 January 20261 April 20261 April 2026
1 July 202629 September 20261 October 2026

Two of those agree and two are two days apart. This is why visa rules, return policies, probation periods and statutory deadlines are usually written in one unit or the other and never both — “90 days” and “three months” are different promises. Use the unit the document uses, and put the interval in that field rather than converting it yourself.

4. Inclusive and exclusive counting

Ask how many days there are between Tuesday and Friday and there are two defensible answers. Three, if you count the gaps between the dates. Four, if you count the days themselves. The span console gives you both: Days between is the exclusive count and Inclusive count is that figure plus one.

  • Exclusive is what you want for durations and deadlines: nights in a hotel, days of interest accrued, age, “within 30 days of receipt”.
  • Inclusive is what you want when every date is itself a unit being counted: days of leave taken, days of a festival, chargeable days on a rental where the first and last day both count.

The Weekdays and Weekend days tiles are inclusive counts — both endpoints are counted if they fall on the relevant kind of day. From Tuesday 8 September 2026 to Friday 11 September 2026 that is four weekdays and no weekend days. The hours, minutes and seconds tiles are derived from the exclusive day count, since those are durations, which means they treat both endpoints as midnight. Two clock readings on the same day are a span of zero days here; measure that on the time calculator instead.

Public holidays are not deducted Weekday counts here exclude Saturdays and Sundays only. Holiday calendars differ by country, by state and by year, and a tool that guessed yours would be wrong more often than useful. If your deadline is in business days under a specific jurisdiction's rules, count the weekdays here and then subtract the holidays that actually apply.

5. What the extra fields on the result mean

The tiles under each result are all derived from the date itself rather than looked up.

  • Day of year — 1 to 365, or 1 to 366 in a leap year. 1 March is day 60 in a common year and day 61 in a leap year, which is exactly why leap years break naive day-of-year arithmetic.
  • ISO week — the ISO 8601 week number. Weeks start on Monday and week 1 is the week containing the first Thursday of January, so 1 January can legitimately fall in week 52 or 53 of the previous ISO week-year. A year has 52 or 53 ISO weeks.
  • Leap year — a year is a leap year when it divides by 4, except century years, which must divide by 400. 2000 was a leap year; 1900 and 2100 are not.
  • Days moved — the flat number of days between the date you typed and the date you landed on. Handy for checking a clamped month step: adding one month to 31 January moves you 28 days, not 31.
  • Leap days in the span console counts the 29 Februarys inside the range, which is why a span in days is never the span in years multiplied by 365.

Dates are held as year, month and day integers and compared as whole-day counts, never as timestamps. Nothing here depends on a timezone offset, so no daylight saving transition can move a result by an hour and round it into the wrong day. Valid years run from 1000 to 9999; the Gregorian calendar itself was not adopted everywhere until much later, so treat dates before the eighteenth century as arithmetic rather than history.

6. Date Calculator FAQs

What date will it be in 90 days?

Put 90 in the Days field of the first console and leave the start date on today. The result gives the full date, the weekday it falls on, the ISO week and the day of the year. Note that 90 days and three months are usually different dates — 90 days from 1 May 2026 is 30 July, while three months is 1 August.

How many days are there between two dates?

Enter both dates in the second console. It reports the exclusive count (the difference between the two dates) and the inclusive count (that figure plus one, counting both endpoints), along with weeks, whole calendar months, weekdays, weekend days and the equivalent hours, minutes and seconds.

Does the order of the two dates matter?

No. If you put the later date first the span is still counted forward from the earlier one, so you get a positive figure either way rather than a negative number to interpret.

What happens when you add a month to 31 January?

You get 28 February, or 29 February in a leap year. Month steps are clamped to the last valid day of the month you arrive in rather than overflowing into the next month. This matches the EDATE function in spreadsheets and the Temporal API in JavaScript.

Are weekends and public holidays excluded?

The Weekdays tile counts Mondays to Fridays only, inclusive of both endpoints, so weekends are excluded there. Public holidays are not, because they differ by country, region and year. Count the weekdays here, then subtract the holidays that apply to you.

Why is my age in days not my age in years times 365?

Because of leap days. The span console shows how many 29 Februarys fall inside the range, and each one adds a day that the ×365 shortcut misses. For a full breakdown of a birth date, the age calculator does the same arithmetic with birthday-specific output.

Is anything I type sent to a server?

No. The calculator is a single client-side script. Dates are parsed and compared in your browser as integer day counts, nothing is uploaded, logged or written to storage, and the page keeps working offline once it has loaded.