두 날짜 비교해서 달수 구하기
따로 함수가 없어 만들었는데. 문제는 달마다 마지막 일이 다르다는것
=> MS에서도 모호해서 함수를 만들지 않은 것 같음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
static void Main(string[] args) { DateTime StartDate = DateTime.Parse("2022-01-01"); DateTime EndDate = DateTime.Parse("2026-03-01"); int DD = MonthAgeFind(StartDate, EndDate); Console.WriteLine(DD); Console.ReadLine(); } public static int MonthAgeFind(DateTime StartDate, DateTime EndDate) { int tempMonthCount = 0; int MonthCount = 0; bool tempFind = false; for (int i = 0; i <= 224; i++) //시작일에 한달씩 더해 종료일보다 큰 더한 달횟수를 구한다. { DateTime tempMonth = StartDate.AddMonths(i); //달더하기 if (tempMonth >= EndDate && tempFind == false) //큰 달 더한횟수구하기 { tempMonthCount = i; tempFind = true; if (tempMonthCount >= 1) //1달 이상이면 교차점에서 시작일이 크면 -1 해준다. { DateTime tempStarDate = StartDate.AddMonths(i); DateTime tempEndDate = EndDate; if (tempStarDate > tempEndDate) tempMonthCount = tempMonthCount - 1; } MonthCount = tempMonthCount; } } return MonthCount; } |