Date Calculator

Days, weeks, months — instantly. Find the time between any two dates or add time to a date.

How the Date Calculator Works

Two modes are available. Use 'Between dates' to find the exact number of days, weeks, months, and years separating any two dates. Use 'Add/Subtract' to calculate a future or past date by adding or subtracting a specific amount of time from any starting date.

The result also shows the day of the week, which is useful for planning events, deadlines, and appointments.

Why Date Calculations Are Harder Than You Think

At first glance, date arithmetic seems straightforward — just count the days. But the Gregorian calendar is full of irregular rules that make even simple calculations surprisingly tricky. Months have different lengths (28, 29, 30, or 31 days), and leap years add an extra day every four years — except for century years, which aren't leap years unless they're divisible by 400. So 1900 wasn't a leap year, but 2000 was. The Gregorian calendar itself was adopted in 1582 to correct the Julian calendar's slow drift, and countries switched at different times: Britain and its colonies (including what became the US) skipped 11 days in September 1752. This matters if you're calculating dates before the modern era or researching historical events.

Fun fact: date calculations trip up even experienced programmers. The seemingly simple question "what date is one month after January 31?" has no universally correct answer — February 31 doesn't exist, so different systems make different choices: some land on February 28, others on March 2 or 3. Time zones add another layer of complexity: a flight departing at 11 PM on Monday and arriving at 6 AM Tuesday has crossed both a date boundary and possibly a time zone change. Legal contracts often specify date calculations precisely to avoid ambiguity — "30 calendar days" versus "30 business days" versus "one calendar month" can produce results that differ a lot. This calculator handles everyday date math clearly and consistently, making the behavior transparent so you know exactly what you're getting.

Common Date Calculations You Need

  • Days until a deadline. Tracking a project milestone, a tax filing date, or a birthday countdown — knowing the exact number of days remaining helps you plan effectively. Expressing a deadline as "47 days away" is far more actionable than a calendar date alone.
  • Age in exact days. Some legal and medical contexts require age in precise days, not just years. Pediatric dosing guidelines, sports eligibility cut-offs, and age-based legal thresholds (driving, voting, retirement benefits) all hinge on exact birth dates and current dates calculated carefully.
  • Business days between dates. Payroll cycles, shipping estimates, and contract SLAs are often measured in business days (Monday through Friday, excluding holidays). Knowing that a package shipped on Friday with a "5 business day" estimate won't arrive until the following Friday is important for planning.
  • Date after adding weeks or months. Lease terms, subscription renewals, insurance policy periods, and loan repayment schedules are all defined by adding time to a start date. Knowing that a 12-month lease signed on March 15 ends on March 14 the following year (not March 15) avoids costly misunderstandings about notice periods.
  • Duration between life events. How long have you lived at your current address? How many years have you worked at your current job? These questions come up on visa applications, mortgage forms, and background checks — and the answer needs to be precise, not a rough estimate rounded to the nearest year.

Business days, quick presets, and a full breakdown

A business-days toggle skips Saturdays and Sundays from the count — so '10 business days from today' gives you a date without needing to subtract weekends yourself. It applies in both modes. Four preset pills let you jump to common durations without typing: +30 days, +90 days, +6 months, +1 year. Pick a start date, tap a pill, done. They're most useful for contract deadlines, free-trial expiry dates, and subscription renewals where the duration is fixed but the start date changes.

In Between-dates mode, the result now shows a full breakdown card: X years, Y months, Z days — not just the total day count. If you're filling out a visa form that asks how long you've lived at your address, you can read off years and months directly. Public holidays are not excluded from the business-days count; the tool only skips weekends. No calendar integration either.

Frequently Asked Questions

Does the calculator include both the start and end date?
The calculator counts the number of days between the two dates, not including both endpoints. For example, from January 1 to January 3 gives 2 days. If you need to count both the start and end date (inclusive), simply add 1 to the result.
How does it handle months with different lengths?
The month count is calculated by comparing the calendar month and year of each date, not by dividing the day count by 30. This means January 31 to March 1 counts as 1 month (not ~1.4). For precise legal or financial calculations, verify with an accountant or legal professional.
What happens when I add months to a date that doesn't exist in the target month?
JavaScript's date handling rolls over to the next month automatically. For example, adding 1 month to January 31 gives March 2 (or March 3 in a leap year), because February 31 doesn't exist. This is standard behavior consistent with most date tools and spreadsheet applications.
How do I calculate how many weeks are between two dates?
Divide the number of days by 7 and round down to get complete weeks. For example, 45 days = 6 complete weeks and 3 remaining days. This calculator displays weeks directly in the result. Weeks are useful for planning recurring events — weekly meetings, training plans, or rent cycles — where counting in days becomes unwieldy.
Does this calculator account for leap years?
Yes. The calculator uses JavaScript's native Date object, which correctly handles all Gregorian calendar rules including leap years. A year is a leap year if it's divisible by 4 — except for century years (divisible by 100), which are only leap years if also divisible by 400. So February 2000 had 29 days, but February 1900 had only 28.

You might also need

See all tools →

Complementary tools based on what you're doing