MultiConvers

Months Between Dates Calculator

Count completed calendar months from one date to another — the same day-of-month in later months, not blocks of 30 days — then show leftover days and a years-and-months split. End-of-month starts clamp so 31 January to 28 February is one month, not a jump into March.

How to use

  1. Enter the start date (the anniversary origin: hire date, lease start, last payment).
  2. Enter the end date. An earlier end produces a negative month count so the direction is visible.
  3. Read whole months, the same span as years plus leftover months, and extra days after the last full month.
  4. Use Days Between Dates if you want midnights only, or Age if you need years-months-days from a birth date.

How it works

A calendar month here is “the same date next month,” the way a rent cycle or a subscription anniversary works. 15 January to 15 March is two whole months and zero leftover days, even though January has 31 days and February has 29 in 2024. The tool does not divide the day count by 30, and it does not count how many month names appear on a wall between the two dates.

When the start day does not exist in the next month, the anniversary clamps to that month’s last day. 31 January 2023 to 28 February 2023 is one complete month. In 2024 the February clamp is 29 February. The leftover-day counter only starts after that last successful anniversary, so you do not get a phantom walk into 2 or 3 March just because 31 February is imaginary.

That clamp is the same rule the Age calculator uses for month remainders. The two pages still answer different questions: this one reports a signed month duration between any pair of dates; Age requires the target to be on or after the birth date and leads with completed years. Negative results here mean the end is before the start — useful when fields were swapped — while the year/month/day magnitudes still describe the same civil length.

“How many months appear on the calendar” is a different, inclusive idea. January through March can look like three month names even when the elapsed anniversary count is two. If a form wants inclusive month labels, this calculator will not add 1 for you. Leap days that fall after the last month anniversary show up in leftover days, not as a bonus month.

Time of day is ignored. For weeks of seven days, use Weeks Between Dates. For Monday–Friday only, use Business Days (no holidays). For a next birthday rather than a month span, use Birthday Countdown.

Formula

Whole months = count of clamped month-anniversaries from start to end
Years / leftover months = whole months as 12 + remainder
Extra days = days after the last whole month

Worked examples

  • Same day two months later

    2024-01-15 to 2024-03-15 → 2 months

  • End of January into February

    2023-01-31 to 2023-02-28 → 1 month

Useful notes

  • Same clamping rule as the Age calculator: 31 Jan → 28 Feb is one month.
  • This is not a count of month names on a wall calendar.
  • If you need a day count instead, use Days Between Dates.

FAQ

Is a month always 30 days?

No. This tool uses calendar months. January to February is one month even when the day count is 28, 29 or 31.

What happens with 31 January?

The February anniversary is clamped to the last day of February. 31 January to 28 February (non-leap) is one whole month.

Can the result be negative?

Yes, if the end date is earlier than the start. The month count is signed so you can see the direction.

Is 1 January to 1 February one month or 31 days?

One whole month and 0 leftover days. The day count of January is 31, but this tool reports calendar months, not those 31 days.

How is this different from age?

Age stacks years first and refuses a target before the birth date. This page reports months between any two dates and can be negative.

Guides

Related tools

See all Date & Time tools.