상세 컨텐츠

본문 제목

java 해당월 마지막 날짜(일) (java calendar getactualmaximum vs getmaximum)

프로그램 언어/Java

by husks 2017. 1. 17. 11:44

본문

반응형


자바에서 특정월의 마지막 날짜를 구하는 예제 입니다.


Calendar 의 getActualMaximum 함수를 이용하였습니다.


해당 기능 개발하면서 getMaximum 와 getActualMaximum 이 헷갈렸는데 구글링 한 결과 아래와 같습니다.




[java.util.Calendar.getMaximum()]


The java.util.Calendar.getMaximum() method returns the maximum value for the given calendar field.



[java.util.Calendar.getActualMaximum()]


The java.util.Calendar.getActualMaximum() method returns the maximum value that the specified calendar field could have, based on the time value of this Calendar.




제가 생각하기로는 getMaximum 는 Calender 자체가 최대로 가질수 있는 값이며 getActualMaximum날짜가 셋팅 된 Calender 가 가질수 있는 값으로 생각 됩니다.


아래는 해당 함수를 이용하여 작성한 예제 입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.text.SimpleDateFormat;
import java.util.Calendar;
 
public class MaximumOfMonth {
 
    public static void main(String[] args) {
 
        int year = 2017;
        int month = 2;
        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));
 
    }
 
}



반응형

관련글 더보기

댓글 영역