Date Calculator
Two date questions live on this page: the distance between two dates, and what a date becomes once you add or subtract days, weeks, months or years. Both run locally as plain calendar arithmetic — no account, no server, nothing to upload.
Two Jobs Behind One Form: Measuring a Gap and Shifting a Date
People arrive at a date calculator from two directions. One group has two dates and wants the distance between them — a notice period, an invoice ageing, a countdown. The other group has one date and a duration and wants the arrival date. The page splits these into separate modes so neither one has to be translated into the other.
- Difference between two dates returns the gap as four separate tiles at once: whole days, weeks, hours and minutes. The figures are not a single total expressed in different units — weeks is the whole-week part of the day count, so 73 days reads as 10 weeks and not 10.43.
- Below the tiles sits the exact calendar duration in years, months and days — the figure you need when the answer is asked for in months rather than days.
- Add/Subtract from date takes a base date, an operation, a value and a unit, and gives back one result written out in full, including the weekday.
- The unit menu is deliberately short: days, weeks, months and years. No working-days mode and no time-of-day handling, because both introduce rules that a plain date field cannot express.
Which Mode to Pick, and What to Type
- If you have both dates, stay on Difference between two dates and fill in Start Date and End Date. The page pre-fills both fields when it opens, so you can nudge them rather than type from scratch.
- If you have one date and a duration, switch the Mode selector to Add/Subtract from date. The base-date field is the same starting value but this mode reads only the first input.
- Choose Add or Subtract, enter a whole number, and pick the unit. A value of zero is rejected with a prompt rather than returning the date unchanged.
- Read the result. In difference mode it is the tile grid plus the years/months/days line; in add/subtract mode it is a single date spelled out with its weekday, which is the format people usually need to paste into an email.
Calendar Months Are Not Thirty Days
The most common mistake in date arithmetic is treating a month as a fixed number of days. It is not, and this tool does not either. Take 1 January 2026 and 15 March 2026: the raw distance is 73 days, which is 10 whole weeks and 1,752 hours. The calendar duration for the same pair is 2 months and 14 days — a completely different-looking answer to the same question, and both are correct depending on what you were asked.
- A 90-day notice period and a 3-month notice period end on different dates in almost every quarter. The tool gives you both figures so the choice is visible rather than assumed.
- The years/months/days line corrects for short months by borrowing from the previous month's real length, so a span crossing February is not inflated by assuming 30-day months.
- Week counts floor rather than round. 73 days is 10 weeks with 3 days left over; the leftover is not hidden inside a decimal.
- Hours and minutes are derived from the whole-day figure, which is exact here because both inputs are dates with no time component.
How Dates Are Read, and Why the Time Zone Matters
Date fields hand over a plain YYYY-MM-DD value with no time attached. JavaScript would read that as midnight UTC by default, while the parts of a date that get displayed — the day number, the month number — are read in your own time zone. For anyone west of UTC that mismatch shifts the date backwards by a day, and across a month boundary the error compounds into the years/months/days figure. This page anchors every date to midnight in your own time zone instead, so a person in New York and a person in Tokyo entering the same two dates get the same duration. It is a small implementation detail with a visible consequence, and it is the reason the defaults you see on opening the page are your local date rather than a date that has already ticked over somewhere else.
- Adding one month to 31 January gives 3 March, not 28 February. Calendar arithmetic rolls the overflow forward rather than clamping to the last valid day, and that is standard behaviour for date libraries in every language.
- Adding one year to 29 February 2024 gives 1 March 2025 for the same reason.
- Subtracting months behaves symmetrically: the value is taken off the month field and any shortfall rolls backward.
- Browsers without a native date picker fall back to free text entry. Typing an ambiguous format such as 03/04/2026 may be read as either March or April depending on the device locale, so use the picker when it appears.
Planning Backwards From a Deadline
The add/subtract mode earns its place when a date is the output rather than the input, which is most of professional scheduling.
- Statutory or contractual notice: set today as the base, subtract the notice period, and read off the last day you can act.
- Warranty and refund windows, where the deadline is a fixed number of months from a purchase date and you want the calendar equivalent of a written term.
- Project backwards-planning: subtract a delivery window from a launch date to find the latest start.
- Retention and review cycles, where a document must be revisited a set number of years after a fixed event.
- Adding weeks rather than days when the schedule is expressed that way in the source document, so no conversion error creeps in.
Common Date Questions
What is the difference between 90 days and 3 months?
They end on different dates unless you are lucky enough to start on a date where they coincide. Ninety days is a fixed count; three months follows the calendar, so the same three-month term is 89, 90, 91 or 92 days depending on which months it spans. Use the days figure when a contract says days, and the months figure when it says months.
Does it count the start date itself?
No. The gap is the distance between the two dates, so from the 1st to the 2nd reads as 1 day. If you need an inclusive count — the number of days a service is provided, for instance — add one to the result.
Why does adding one month to 31 January give 3 March?
Because February has no 31st, and calendar arithmetic carries the overspill forward instead of clamping to the 28th. This is the documented behaviour in JavaScript's date handling and matches most libraries in other languages. If you need the last day of the following month, add months first and then set the day explicitly.
Can it calculate working days?
No, and that is a deliberate limit. Working-day counts depend on which country's public holidays apply, whether weekends are Friday and Saturday or Saturday and Sunday, and whether the endpoints count — three rules a single date field cannot capture. Treat the day count here as calendar days.
Do the dates I enter get sent anywhere?
They do not. The arithmetic is plain JavaScript running in the page, and the calculation cannot proceed without the page being open. Watching the network panel while you calculate shows no request leaving the browser.
Last verified: October 3, 2026
Launch Date Calculator
All Tools · All Tools · About · How We Test · Contact · Privacy
Maintained by Huang Bin · Last updated October 3, 2026