public static void Main()
for(int month=1;month<13;month++)
DateTime current = new DateTime(2020,month,1);
Console.WriteLine("At current {0:yyyyMMdd} nextMonth {1:yyyyMMdd}",current,endMonth(current));
public static DateTime endMonth(DateTime E71)
var nextMonth =EDATE(E71,1);
return MONTH(nextMonth)<7?DATE(YEAR(nextMonth),6,1):DATE(YEAR(nextMonth),12,1);
public static DateTime EDATE(DateTime date,int monthIncrement)
return date.AddMonths(monthIncrement);
public static int MONTH(DateTime date)
public static int YEAR(DateTime date)
public static DateTime DATE(int year,int month,int day)
return new DateTime(year,month,day);