안녕하세요~ 작은나무입니다!!
음.. 이번에 새로 일정관리 프로그램을 짜느라 달력을 제작해 보았어요^^
DateTime l_Dnow = new DateTime(m_iYear, m_iMonth, 1); //입력받은 달의 1일을 가져옴
int.Parse(l_Dnow.AddMonths(1).AddDays(-1).ToString("dd")); //입력받은 달의 마지막날
(int)new DateTime(m_iYear, m_iMonth, 1).DayOfWeek; //입력받은 달 1일의 요일
l_Dnow.AddMonths(-1).Month; //이전달 가져오기
l_Dnow.AddMonths(+1).Month; //다음달 가져오기
대략 이정도의 날짜함수면 달력만드는게 너무도 수월하게 진행이 되드라구요~
// 오늘 날짜를 가져오는 방법: (3월 8일 목요일)
DateTime today = DateTime.Today;
// 1일 날짜를 가져오는 방법: (3월 1일 목요일)
DateTime first_day = today.AddDays(1 - today.Day);
// 첫번째 주의 일요일을 가져오는 방법: (2월 25일 일요일)
DateTime first_sunday = first_day.AddDays(0 - (int)(first_day.DayOfWeek));
// 첫번째 주의 일수를 가져오는 방법: (3일)
int first_week_day_count = 7 - (int)(first_day.DayOfWeek);
// 말일 날짜를 가져오는 방법: (3월 31일 토요일)
DateTime last_day = today.AddMonths(1).AddDays(0 - today.Day);
// 마지막 주의 일요일을 가져오는 방법: (3월 25일 일요일)
DateTime last_sunday = last_day.AddDays(0 - (int)(last_day.DayOfWeek));
// 마지막 주의 일수를 가져오는 방법: (7일)
int last_week_day_count = last_day.DayOfYear - last_sunday.DayOfYear + 1;
// 이번 달의 주수를 가져오는 방법: (5주)
int this_month_week_count = ((last_sunday.DayOfYear - first_sunday.DayOfYear) / 7) + 1;