A weeks between dates calculator is one of those deceptively simple tools that comes up in a surprisingly wide range of situations: project planning, pregnancy tracking, academic scheduling, payroll periods, training programmes, lease agreements, and any contract denominated in weeks rather than months. This calculator gives you the answer in under a second — full weeks, leftover days, the decimal equivalent, total days, total hours, and an optional week-by-week breakdown table — all without leaving your browser.
How it works
The core calculation has three steps.
Step 1 — total days. JavaScript represents dates internally as the number of milliseconds since 1 January 1970 (Unix time). Subtracting two Date objects and dividing by 86,400,000 (the number of milliseconds in a day) gives the exact number of elapsed days. The calculation always uses midnight (00:00:00) on each date so the result is a whole number of days.
Step 2 — full weeks and remainder. Integer division by 7 gives the number of complete seven-day weeks. The modulo operation (totalDays mod 7) gives the remaining days that do not make up a full week.
Step 3 — decimal weeks. Dividing total days by 7 without rounding gives the fractional representation, shown to four decimal places. This is useful whenever a formula or spreadsheet expects a continuous numeric value rather than a split whole-number / remainder pair.
The month approximation uses the mean Gregorian month length of 30.4375 days (365.25 / 12), which correctly accounts for the average effect of leap years.
Worked example
Suppose you want to know how many weeks there are between 15 March 2026 and 1 September 2026:
- Total days: 170
- Full weeks: 24 (24 × 7 = 168)
- Remainder days: 2
- Exact weeks: 24.2857
- Total hours: 4,080
- Approx. months: 5.58
If you are planning a 6-month project and your client asks “how many full weekly sprints does that give us?”, the answer is 24 sprints with 2 days of buffer — a directly actionable figure.
Why weeks matter
Many planning frameworks — Agile sprints, academic terms, training blocks, obstetric dating — work natively in weeks rather than months. Months are ambiguous (28, 29, 30 or 31 days), but a week is always exactly 7 days. Using weeks avoids the off-by-one errors that arise when mixing month-length assumptions. The week-by-week breakdown table makes it easy to verify that your sprint schedule or training plan aligns with actual calendar dates, catching cases where a week crosses a bank holiday or a month boundary.
Formula reference
totalDays = round( |endDate - startDate| / 86_400_000 )
fullWeeks = floor( totalDays / 7 )
remainder = totalDays mod 7
exactWeeks = totalDays / 7
totalHours = totalDays * 24
approxMonths = totalDays / 30.4375
All arithmetic is integer-exact for days and weeks. The month figure is an approximation because calendar months vary in length.