What is the Relationship Length Calculator?
This calculator tells you exactly how long you and your partner have been together. Enter the date your relationship began and it returns the elapsed time broken down into years, months and days, plus handy totals like the number of weeks and total days you have shared. It is perfect for marking anniversaries, planning a celebration, or simply settling a friendly debate about "how long has it been?"
How to use it
Enter the year, month and day your relationship started. The "As Of Date" defaults to today, but you can change it to any date — for example a past or future anniversary. Press calculate and you'll see the full breakdown.
The formula explained
The tool subtracts the start date from the end date one field at a time: days minus days, months minus months, years minus years. When the day difference is negative, it "borrows" the number of days in the month preceding the end date and reduces the month count by one. When the month difference then goes negative, it borrows 12 months from the years. This calendar-aware borrowing is why the result correctly accounts for months of different lengths and leap years.
$$\text{Length} = \text{End}_{\text{y}}\text{-}\text{End}_{\text{m}}\text{-}\text{End}_{\text{d}} \;-\; \text{Start}_{\text{y}}\text{-}\text{Start}_{\text{m}}\text{-}\text{Start}_{\text{d}}$$$$\begin{gathered} \text{Length} = (\,Y\ \text{years},\ M\ \text{months},\ D\ \text{days}\,) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} Y &= \text{End Year} - \text{Start Year} \\ M &= \text{End Month} - \text{Start Month} \\ D &= \text{End Day} - \text{Start Day} \end{aligned} \right. \end{gathered}$$$$\begin{gathered} \text{Total Days} = \dfrac{\text{End Date} - \text{Start Date}}{86400000\ \text{ms/day}} \\[1.2em] \text{Total Weeks} = \dfrac{\text{Total Days}}{7}, \quad \text{Total Months} = \dfrac{\text{Total Days}}{30.4375} \end{gathered}$$
Worked example
Start date 31 March 2023, end date 1 April 2023. Days: \(1 - 31 = -30\), so we borrow the days in March (the month before April = 31) and reduce months by one: days = \(1 - 31 + 31 = 1\), months = \(0 - 1 = -1\), which borrows a year. The clean result is 0 years, 11 months, 1 day — and a total of 1 day.
FAQ
Does it count today as a full day? The total days figure is the number of complete days between the two dates.
What if I enter a future start date? The duration will be negative; enter the earlier date as the start for meaningful results.
Are leap years handled? Yes — month lengths are read from the calendar, so February's 28 or 29 days are applied correctly.