IT정보공유/C#

c# 매월 1일, 매달 말일 구하는 방법

알지오™ 2020. 9. 15.

일자별 통계 리포트를 작성할때 조회 기간 기준을 매월 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

 

[ C# ] 특정한 달의 마지막 날 구하는 함수

매 달의 시작은 1일입니다. 그렇죠? 그러나 매월의 마지막 날, 즉 마지막 일자는 다르죠. 2월은 윤달이냐 아니냐에 따라 28일 까지 있거나 29일 까지도 있고요. 매월 마지막 날 구하는 함수 DaysInMont

bigenergy.tistory.com

 

댓글

💲 추천 글