[JAVA] 자바 날짜 구하기(특정 월의 첫째 날짜, 마지막 날짜)


자바 날짜 구하기

How to get first day or last day of month in Java


  • Calendar 의 getActualMaximum 함수를 이용
  • getMaximum 는 Calender 자체가 최대로 가질수 있는 값.
  • getActualMaximum 는 실제로 날짜가 셋팅 된 Calender 가 가질수 있는 값
import java.text.SimpleDateFormat;
import java.util.Calendar;
 
public class MaximumOfMonth {
    public static void main(String[] args) {
 
        int year = 2020;
        int month = 1;
        int day = 1;
 
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 
        Calendar cal = Calendar.getInstance();
 
        cal.set(year, month-1, day); //월은 -1해줘야 해당월로 인식
 
        System.out.println(dateFormat.format(cal.getTime()));
 
        System.out.println("해당년도: "+cal.get(Calendar.YEAR));
        System.out.println("해당월: "+(cal.get(Calendar.MONTH)+1)); //보여줄때 +1로 하여 사람기준으로 설정
        System.out.println("첫번째 일: "+cal.getMinimum(Calendar.DAY_OF_MONTH));
 
        System.out.println("마지막 일(현재 날짜 기준 최대수): "+cal.getActualMaximum(Calendar.DAY_OF_MONTH)); //기본적으로 이걸 사용
        System.out.println("마지막 일(Calender이 가진 최대수): "+cal.getMaximum(Calendar.DAY_OF_MONTH));
    }
}