Test147 java.util패키지 - Calendar 클래스
java.util.Calendar 클래스
java.util.Calendar 클래스는 날짜와 시간을 객체 모델링화 한 클래스로 연, 월, 일, 요일, 시, 분, 초 까지의 시간 및 날짜와 관련된 정보를 제공한다. 그리고, Calendar 클래스는 추상 클래스이므로 직접 객체를 생성할 수 없으며 실제적인 메소드 구현은 Calendar 클래스의 서브 클래스인 GregorianCalendar 클래스에 정의되어 있다.
시스템으로부터 현재 시스템 시간 정보를 얻어올 때 getInstance() 라는 정적(static) 메소드를 이용하여 객체를 생성할 수 있다. 생성된 Calendar 클래스 객체는 시스템의 현재 날짜와 시간 정보를 가지며, 이 객체가 생성되면 갖고 있는 시간 정보들은 get() 메소드를 이용하여 쉽게 가져올(사용할)수 있다.
getInstance() 메소드는 내부적으로 GregorianCalendar 객체를 생성하여 돌려주기 때문에 GregorianCalendar 객체를 직접 생성하여 시간 정보를 구할 수도 있다.
※ Calendar 클래스는 추상 클래스이기 때문에 객체를 생성할 수 없다.
(추상 클래스 : 미완성된 클래스)
Calendar cal = new Calendar();
→ 이와 같은 구문을 통해 인스턴스 생성이 불가.
○ Calendar 클래스 객체(인스턴스)를 생성할 수 있는 방법
1. Calendar cal = Calendar.getInstance();
2. Calendar cal = new GregorianCalendar();
3. GregorianCalendar cal = new GregorianCalendar();
(※ GregorianCalendar : Calendar 클래스의 하위 클래스)
import java.util.Calendar; import java.util.GregorianCalendar; public class Test147 { public static void main(String[] args) { // Calendar 클래스 기반 인스턴스 생성 //Calendar rightNow = new Calendar(); // 인스턴스 생성 불가 Calendar rightNow = Calendar.getInstance(); // 생성된 달력(Calendar) 인스턴스를 통해 // 날짜 관련 정보를 얻어낼 수 있는 메소드 → 『get()』 int y = rightNow.get(Calendar.YEAR); System.out.println(y); //--==>> 2020 int m = rightNow.get(Calendar.MONTH)+1; //-- check~!!! // 가져올 때는 『+1』 // 설정할 때는 『-1』 System.out.println(m); //--==>> 8 int d = rightNow.get(Calendar.DATE); System.out.println(d); //--==>> 27 int w = rightNow.get(Calendar.DAY_OF_WEEK); System.out.println(w); /* // 테스트(확인) System.out.println(Calendar.SUNDAY); //--==>> 1 → 일요일 System.out.println(Calendar.MONDAY); //--==>> 2 → 월요일 System.out.println(Calendar.TUESDAY); //--==>> 3 → 화요일 System.out.println(Calendar.WEDNESDAY); //--==>> 4 → 수요일 System.out.println(Calendar.THURSDAY); //--==>> 5 → 목요일 System.out.println(Calendar.FRIDAY); //--==>> 6 → 금요일 System.out.println(Calendar.SATURDAY); //--==>> 7 → 토요일 */ System.out.println(y + "-" + m + "-" + d + " " + w); //--==>> 2020-8-27 5 String week = ""; switch (w) { //case 1: week = "일요일"; break case Calendar.SUNDAY: week = "일요일"; break; //case 2: week = "월요일"; break case Calendar.MONDAY: week = "월요일"; break; //case 3: week = "화요일"; break case Calendar.TUESDAY: week = "화요일"; break; //case 4: week = "수요일"; break case Calendar.WEDNESDAY: week = "수요일"; break; //case 5: week = "목요일"; break case Calendar.THURSDAY: week = "목요일"; break; //case 6: week = "금요일"; break case Calendar.FRIDAY: week = "금요일"; break; //case 7: week = "토요일"; break case Calendar.SATURDAY: week = "토요일"; break; } System.out.println(y + "-" + m + "-" + d + " " + week); //--==>> 2020-8-27 목요일 /////////////////////////////////////////////////////////////////////////// //Calendar 클래스 인스턴스 생성 Calendar rightNow2 = new GregorianCalendar(); String[] week2 = {"일요일","월요일","화요일","수요일","목요일","금요일","토요일"}; // 달력의 날짜 세팅 → 『set()』 메소드 활용 rightNow2.set(2020,9,20); // 10월 -- check~!!! System.out.println(rightNow2.get(Calendar.DAY_OF_WEEK)); //--==>> 3 → 화요일 //-- 2020년 10월 20일은 화요일~!!! System.out.println(week2[rightNow2.get(Calendar.DAY_OF_WEEK)-1]); //--==>> 화요일 // 달력의 날짜 세팅 rightNow2.set(1994,5,3); // 1994-06-03 System.out.println(week2[rightNow2.get(Calendar.DAY_OF_WEEK)-1]); //--==>> 금요일 } }
'JAVA > 주요 패키지' 카테고리의 다른 글
Test149 java.util패키지 - Calendar 클래스 (3) (0) | 2020.09.21 |
---|---|
Test148 java.util패키지 - Calendar 클래스 (2) (0) | 2020.09.21 |
Test146 캐릭터 셋(Character Set) (0) | 2020.09.21 |
Test145 java.util패키지 - StringTokenizer 클래스 (0) | 2020.09.14 |
Test144 java.lang패키지 - StringBuffer 클래스 (2) (0) | 2020.09.14 |