Notice
Recent Posts
Recent Comments
Link
Everything has an expiration date
142 - Java 자바의 주요 클래스 : Calendar 클래스, Calendar.get(Calendar.YEAR) MONTH, DATE, DAY_OF_MONTH, getInstance(), Calendar.set(y, m, d) 본문
[Java]
142 - Java 자바의 주요 클래스 : Calendar 클래스, Calendar.get(Calendar.YEAR) MONTH, DATE, DAY_OF_MONTH, getInstance(), Calendar.set(y, m, d)
Jelly-fish 2023. 9. 19. 14:00/*==============================================
■■■ 자바의 주요(중요) 클래스 ■■■
- 자바에서 기본적으로 제공하는 주요 클래스들
- Calendar 클래스
================================================*/
/*
※ Calendar 클래스는 추상 클래스이기 때문에 객체를 생성할 수 없다.
(추상 클래스 : 미완성된 클래스 → 상속을 위해 존재하는 클래스)
Calendar ob = new Calendar();
→ 이와 같은 구문을 통해 인스턴스 생성 불가.
○ Calendar 클래스 객체(인스턴스)를 생성할 수 있는 방법
1. Calendar ob1 = Calendar.getInstance();
▶ 『Calendar 인스턴스를 반환하는 getInstance() static 메소드로 Calendar 객체생성』
2. Calendar ob2 = new GregorianCalendar();
------- ------------------ → 자식 클래스의 인스턴스 → 업 캐스팅!!!
→ 부모 클래스 참조 변수
// GregorianCalendar gc = new GregorianCalendar();
// Calendar ob2 = gc;
// Calendar ob2 = (Calendar)gc;
▶ 『자식 클래스 GregorianCalendar의 업캐스팅으로 Calendar 객체생성』
3. GregorianCalendar ob3 = new GregorianCalendar();
(※ GregorianCalendar : Calendar 클래스의 하위 클래스)
▶ 『자식 클래스의 인스턴스를 생성하면, 그 안에 부모 클래스의 인스턴스가 포함되어 있으므로』
*/
// 연, 월, 일, 요일을 Calendar 객체로부터 가져와 출력
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test142
{
public static void main(String[] args)
{
// Calendar 객체 생성
//Calendar ob = new Calendar(); 추상 클래스이므로 바로 인스턴스 생성 불가능하다.
Calendar rightNow = Calendar.getInstance();
// 생성된 달력(Calendar) 인스턴스를 통해
// 날짜 관련 정보를 얻어낼 수 있는 메소드 → 『get()』
// static final 변수 → YEAR
int y = rightNow.get(Calendar.YEAR); // 연도를 반환해 준다.
System.out.println("y : " + y);
//--==>> y : 2023
// 달은, 입력한 달보다 1이 작으므로 1 더해서 가져와야 한다.
int m = rightNow.get(Calendar.MONTH) + 1; //-- 『+1』 check~!!!
System.out.println("m : " + m);
//--==>> m : 9
int d = rightNow.get(Calendar.DATE);
System.out.println("d : " + d);
//--==>> d : 19
int w = rightNow.get(Calendar.DAY_OF_WEEK);
System.out.println("w : " + w);
//--==>> w : 3
// 테스트(확인)
/*
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);
//--==>> 2023-9-19 3
String week = "";
switch (w)
{
/*
case Calendar.SUNDAY : week = "일요일"; break;
case Calendar.MONDAY : week = "월요일"; break;
case Calendar.TUESDAY : week = "화요일"; break;
case Calendar.WEDNESDAY : week = "수요일"; break;
case Calendar.THURSDAY : week = "목요일"; break;
case Calendar.FRIDAY : week = "금요일"; break;
case Calendar.SATURDAY : week = "토요일"; break;
*/
case 1 : week = "일요일"; break;
case 2 : week = "월요일"; break;
case 3 : week = "화요일"; break;
case 4 : week = "수요일"; break;
case 5 : week = "목요일"; break;
case 6 : week = "금요일"; break;
case 7 : week = "토요일"; break;
}
System.out.println(y + "-" + m + "-" + d + " " + week);
//--==>> 2023-9-19 화요일
System.out.println("///////////////////////////////////////////////////////////////////");
// Calendar 객체 생성
Calendar rightNow2 = new GregorianCalendar();
String[] week2 = {"일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"};
// 달력의 날짜 세팅 → 『set()』 메소드 활용
rightNow2.set(2024, 2, 19); // 2024년 3월 19일 // check~!!!
System.out.println(rightNow2.get(Calendar.DAY_OF_WEEK));
//--==>> 3
// week2의 배열 = 0번 인덱스가 일요일이므로... 화요일 → 2번 인덱스.
// 그렇기 때문에 요일을 가져온 값(rightNow2.get(Calendar.DAY_OF_WEEK))에서 -1 을 해 주는것.
System.out.println(week2[rightNow2.get(Calendar.DAY_OF_WEEK)-1]);
//--==>> 화요일
}
}
'[Java]' 카테고리의 다른 글
141 - Java 자바의 주요 클래스 : 캐릭터 셋(Character Set), getBytes(), new String(byte[], incoding) (0) | 2023.09.19 |
---|---|
140 - Java 자바의 주요 클래스 : StringTokenizer 클래스, hasMoreTokens(), nextToken(), countTokens() (0) | 2023.09.19 |
007 - 자바의 관계 연산 및 대입 연산 (0) | 2023.08.28 |
006 - 자바 강제 형 변환, 기본 데이터 저장 타입과 접미사 L, l (long) F, f(float) (0) | 2023.08.28 |
005 - 자바 문자열 결합 (0) | 2023.08.28 |