public static void Main()
var from = new DateTime(2023,4,2);
var to = new DateTime(2024,4,1);
var fullMonthsDiff = (to.Year - from.Year)*12 + to.Month - from.Month;
var fractionMonthsDiff = ((double)(to.Day-1) / (DateTime.DaysInMonth(to.Year, to.Month)-1)) -
((double)(from.Day-1)/ (DateTime.DaysInMonth(from.Year, from.Month)-1));
var monthsApart = Math.Floor(fullMonthsDiff + fractionMonthsDiff);
Console.WriteLine(monthsApart);