본문으로 바로가기

[Java] 해당 월의 말일 구하기(Calendar)

category Java 2019. 10. 21. 23:25

특정한 달의 말일은 달마다 다릅니다.

 

1월은 31일 2월은 28일 때론29일.. 등 달마다 일수가 다릅니다.

 

이런 말일을 구하는 방법은 Calendar 클래스를 이용하여 구할 수 있습니다.

 

 

Calendar 클래스를 이용하여 말일 구하기


Calendar cal = Calendar.getInstance();

cal.set(2019,9,1);

System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));

//31

먼저 Calendar 인스턴스를 생성합니다.

 

그리고 생성된 캘린더에 기준이 되는 날짜를 입력합니다.

캘린더에 기준이될 날자를 세팅해준다.

이때, 월 부분은 -1을 해주어야 합니다 ( 0이 1월로 잡힌다. )

 

그리고 getActualMaximum 함수를 호출하면 기준이된 월의 말일을 구할 수 있습니다.

(파라미터로 Calendar.DAY_OF_MONTH 를 넘겨 주어야 말일을 리턴 받습니다.)

 

10월의 마지막 일은 31일으로 31이 리턴이 된것을 확인 할 수 있습니다.

 

 

월이 11(12월) 을 넘어가면 다음년도로 넘어가집니다.

Calendar cal = Calendar.getInstance();

cal.set(2019,13,1);

System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));

//29

2019,13,1 을 파라미터로 넘기면 2020년 2월 1일 으로 인식하여 2020년 2월의 말일인 29를 리턴합니다.