자바의 날짜를 가지고 놀때 자주 사용되는 두 클래스.
그중 Calendar 클래스 부터.
1. 라이브러리 에서의 위치
java.util
사용을 위해선 위와 같은 라이브러리를 import 시켜주어야 함.
이하 기본적인 예제를 통한 Calendar 클래스 사용법
1. 기본적인 시간 정보 가져오기
<작성이 10월 6일 5시 17분 되었기에>
현재 년: 2011
그중 Calendar 클래스 부터.
1. 라이브러리 에서의 위치
java.util
Class Calendar
java.lang.Object java.util.Calendar
import java.util.Calendar;
사용을 위해선 위와 같은 라이브러리를 import 시켜주어야 함.
이하 기본적인 예제를 통한 Calendar 클래스 사용법
1. 기본적인 시간 정보 가져오기
Calendar today = Calendar.getInstance( ); //인스턴스를 받아오면서 현재시간이 세팅됨. System.out.println("현재 년: " + today.get(Calendar.YEAR)); System.out.println("현재 월: " + (today.get(Calendar.MONTH) + 1)); //달의 경우 1월이 0부터 시작하기때문에 출력시 +1을 해줘야 현대잘이 출력 System.out.println("현재 일: " + today.get(Calendar.DAY_OF_MONTH)); System.out.println(); System.out.println("현재 시: " + today.get(Calendar.HOUR));//오전, 오후 System.out.println("현재 시: " + today.get(Calendar.HOUR_OF_DAY));//24시간형식 System.out.println("현재 분: " + today.get(Calendar.MINUTE)); System.out.println("현재 초: " + today.get(Calendar.SECOND)); System.out.println(); System.out.println("현재 초의 1000분의1초: " + today.get(Calendar.MILLISECOND)); System.out.println("현재 요일: " + today.get(Calendar.DAY_OF_WEEK)); // 일요일 = 1 System.out.println("올해 몇 번째 날: " + today.get(Calendar.DAY_OF_YEAR)); // 1월 1일 = 1 System.out.println("올해 몇 번째 주: " + today.get(Calendar.WEEK_OF_YEAR)); // 올해의첫재주 = 1 System.out.println("이번 달의 몇 번째 주: " + today.get(Calendar.WEEK_OF_MONTH)); // 첫째주 = 1 //위의 경우 1부터 시작됨.=== >결과
<작성이 10월 6일 5시 17분 되었기에>
현재 년: 2011
현재 월: 10
현재 일: 6
현재 시: 5
현재 시: 17
현재 분: 52
현재 초: 0
현재 초의 1000분의1초: 606
현재 요일: 5
올해 몇 번째 날: 279
올해 몇 번째 주: 41
이번 달의 몇 번째 주: 2
2. set() 메소드와 add()메소드를 이용한 날짜 세팅
---> 결과
3. set()과 add()의 차이.
---> 결과
2. set() 메소드와 add()메소드를 이용한 날짜 세팅
today.set(2022, 1, 22, 22, 22, 22); //2022년 2월 22일 22시 22분 22초가 나오기 위해선 월 세팅에 1을 해주어야한다. //월은 0부터시작하기 때문에. System.out.println("처음 세팅된 시간 : " + today.getTime()); today.set(2004, 10, 12); System.out.println("년,월,일 변경됨 : " + today.getTime()); today.set(2004, 10, 12, 20, 46); System.out.println("년,월,일,시,분 까지변경 : " + today.getTime()); System.out.println(); today.set(Calendar.DAY_OF_MONTH, Calendar.OCTOBER); System.out.println("변경된 모습 : " + today.getTime()); today.set(Calendar.DATE, 22); System.out.println("변경된 모습 : " + today.getTime()); today.set(Calendar.DAY_OF_YEAR, 2012); System.out.println("변경된 모습 : " + today.getTime()); System.out.println(); System.out.println(); Calendar newtoday = Calendar.getInstance( ); System.out.println("현재 날자 : "+ newtoday.getTime()); newtoday.add(Calendar.MONTH, 2); System.out.println("두달을 더해줌 : " + newtoday.getTime()); newtoday.add(Calendar.DATE, 12); System.out.println("12일을 더해줌 : " + newtoday.getTime());
---> 결과
처음 세팅된 시간 : Tue Feb 22 22:22:22 KST 2022
년,월,일 변경됨 : Fri Nov 12 22:22:22 KST 2004
년,월,일,시,분 까지변경 : Fri Nov 12 20:46:22 KST 2004
변경된 모습 : Tue Nov 09 20:46:22 KST 2004
변경된 모습 : Mon Nov 22 20:46:22 KST 2004
변경된 모습 : Sat Jul 04 20:46:22 KST 2009
현재 날자 : Thu Oct 06 18:19:10 KST 2011
두달을 더해줌 : Tue Dec 06 18:19:10 KST 2011
12일을 더해줌 : Sun Dec 18 18:19:10 KST 2011
3. set()과 add()의 차이.
today.set(2011, 7, 31); today.set(Calendar.MONTH, Calendar.SEPTEMBER); System.out.println("set을 이용해 다음달로 바꿀 경우: "+ today.getTime()); today.set(2011, 7, 31); today.add(Calendar.MONTH, 1); System.out.println("add를 이용해 다음달로 바꿀 경우: "+ today.getTime());
---> 결과
set을 이용해 다음달로 바꿀 경우: Sat Oct 01 20:46:22 KST 2011
add를 이용해 다음달로 바꿀 경우: Fri Sep 30 20:46:22 KST 2011
세팅된 날짜가 8월 31일일 때, set을 이용하여 월만 9월로 변경시 9월은 30일이 끝이기 때문에 10월 1일로 넘어가나,
add를 이용하여 1달을 더해줄 경우, 9월 30일일로 자동으로 맞추어 진다.
기타 더 자세한 사항은 API를 참조-
http://download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html
add를 이용하여 1달을 더해줄 경우, 9월 30일일로 자동으로 맞추어 진다.
기타 더 자세한 사항은 API를 참조-
http://download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html
'JAVA' 카테고리의 다른 글
[JAVA] 써봤던 함수 정리 (0) | 2011.12.13 |
---|---|
[JAVA & JSP] ArrayList 안에 HashMap 넣어쓰기(HashMapList??) (2) | 2011.11.09 |
[JAVA] 날짜 함수들을 이용한 몇가지 코딩. (0) | 2011.10.07 |
[JAVA] Calendar & SimpleDateFormat 2 (0) | 2011.10.07 |
[JAVA] JAVA 요약 (헛갈리는 것 중심으로) 1 (0) | 2011.01.01 |