일자별 통계 리포트를 작성할때 조회 기간 기준을 매월 1일 부터 매달 말일로 설정하기도 합니다.
이때 필요한 월의 첫날과 월의 마지막 날을 구하는 방법에 대해서 알아보도록 하겠습니다.
현재 날짜를 기준으로 계산하는 방법입니다.
이번달의 첫번째 날, 즉 1일을 DateTime 형식으로 만드는 법
DateTime MonthFirstDay = DateTime.Now.AddDays(1 - DateTime.Now.Day);
설명을 곁들이자면 1일에서 금일 날짜르 뺍니다. 금일은 9월 15일로 가정하도록 하겠습니다.
1일 - 15일 을 하면 -14일이 나오겠죠? 그럼 9월 15일 - 14일을 했으므로 1일이 나오게 됩니다.
이해되시죠?
월의 마지막 날, 말일을 날짜형식으로 만드는 방법입니다.
DateTime MonthLastDay = MonthFirstDay.DateTime.AddMonths(1).AddDays(-1);
위에서 구한 1일 (MonthFirstDay)를 기준으로 1달을 더한 후, 1일을 빼주면됩니다.
9월 1일에서 한달을 더 했기 때문에 10월 1일이 되고, 하루를 뺏기 때문에 9월 30일이 되는 원리입니다.
날짜 형식은 필요없고 이번달의 마지막 날만 필요한 경우는 아래링크를 참고하세요.
매월 마지막 날 구하는 함수 DaysInMonth
댓글