Calculate the number of months between two dates with C#
October 30, 2015 2 Comments
Say you’d like to calculate the difference between two dates in terms of number of months.
The following simple function will do just that: return the absolute number of months between two dates:
public static int GetMonthDifference(DateTime startDate, DateTime endDate) { int monthsApart = 12 * (startDate.Year - endDate.Year) + startDate.Month - endDate.Month; return Math.Abs(monthsApart); }
Usage:
DateTime now = DateTime.UtcNow; DateTime past = now.AddMonths(-13); int monthDiff = GetMonthDifference(now, past);
monthDiff will be 13 as expected, i.e. not -13.
View all various C# language feature related posts here.
Pingback: Calculate the number of months between two dates with C# | Dinesh Ram Kali.
Excellent. Thank you for this. I was using someone’s code that calculated it incorrectly!