public static void Main()
Program p = new Program();
DateTime CoverStartDate = Convert.ToDateTime("2021-08-10 00:00:00.000");
DateTime CancellationDate = Convert.ToDateTime("2022-02-12 23:59:59.000");
int answer = p.GetConsumerMonthsElapsed(CoverStartDate, CancellationDate);
Console.WriteLine("Cover Start Date = " + CoverStartDate);
Console.WriteLine("Cancellation Date = " + CancellationDate);
Console.WriteLine("Consumer Months Elapsed = " + answer);
public int GetConsumerMonthsElapsed(DateTime coverStartDate, DateTime CancellationDate)
int consumerMonthsElapsed = 0;
DateTime coverStartDateTimeForLoop = coverStartDate;
for (int month = 0; month <= (coverStartDate.Month - CancellationDate.Month); month++)
if (coverStartDateTimeForLoop <= CancellationDate)
coverStartDateTimeForLoop = coverStartDate.AddMonths(month + 1);
return consumerMonthsElapsed;