자바에서 특정월의 마지막 날짜를 구하는 예제 입니다.
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)); } } |
java url 이미지 다운로드 (0) | 2017.02.15 |
---|---|
POI Style (0) | 2017.01.20 |
Java 날짜 비교 (compareTo) (0) | 2016.12.14 |
java 파일 읽어 문자열 중 한글 파악하기 (0) | 2016.10.25 |
java 파일, 디렉토리 삭제 (java file directory delete) (0) | 2016.09.20 |
댓글 영역