public static void Main()
DateTime borneMin, borneMax = new DateTime();
DateTime[] periodDateTime = new [] {new DateTime(2019,9,2), new DateTime(2020, 07, 3)};
int periodMonthMin = periodDateTime[0].Month;
int periodYearMin = periodDateTime[0].Year;
DateTime dateMin = periodDateTime[0];
int periodMonthMax = periodDateTime[1].Month;
int periodYearMax = periodDateTime[1].Year;
DateTime dateMax = periodDateTime[1];
if(monthFrom < periodMonthMin)
borneMin = new DateTime(periodYearMax, monthFrom, 1);
} else if (monthFrom == periodMonthMin)
borneMin = new DateTime(periodYearMin, monthFrom, 1);
int maxDayInMonth = DateTime.DaysInMonth(periodYearMax, periodMonthMax);
if (monthTo < periodMonthMax)
maxDayInMonth = DateTime.DaysInMonth(periodYearMax, monthTo);
borneMax = new DateTime(periodYearMax, monthTo, maxDayInMonth);
Console.Write(borneMin.ToString() +" -- "+ borneMax.ToString());