1. Calendar과 Date
- java.utill.Date
- 날짜와 시간을 다룰 목적으로 만들어진 클래스
- Date의 메서드는 거의 deprecated(앞으로 사용 X)되었지만, 여전히 쓰이고 있다
- java.utill.Calendar
- Date 클래스를 개선한 새로운 클래스 . 그러나 여전히 딘점 존재
- 날짜와 시간을 함께 다루는 것이 캘린더의 가장 큰 단점이었다.
- Date 클래스를 개선한 새로운 클래스 . 그러나 여전히 딘점 존재
- java.time 패키지(가능하면 이걸 많이 쓰자 ~)
- Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공
- 날짜와 시간을 따로 다룰 수 있게 개선하였다.
- Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공
2. Calendar 클래스
- 캘린더 클래스는 추상클래스이기 때문에 객체 생성이 불가하다.
- 추상 클래스이기때문에 getInstance()를 통해 구현된 객체를 얻어야 한다.
Calendar cal = new Calendar(); // 에러!! 추상클래스는 인스턴스를 생성할 수 없다.
- 추상클래스로 캘린더 클래스를 만든 이유는?
- 추상화 하지 않으면 사용할 클래스를 지정해 놓으면 경우에 따라서 그 부분을 변경해야하기 때문이다.
- 캘린더 클래스 사용방법(아래 코드처럼 getInstance() 사용해서!!)
Calendar cal = Calendar.getInstance(); // 이렇게 구현된 객체를 얻어오는 작업을 해야 한다.
3. Calendar의 주요 메서드
- get()으로 날짜와 시간 필드 가져오기 - int get(int field)
package javaStandard;
import java.util.Calendar;
public class Java10_1 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int thisYear = cal.get(Calendar.YEAR); // 올해가 몇년인지 알아냄
int lastDayOfMonth = cal.getActualMaximum(Calendar.DATE); //이 달의 마지막날을 알아냄
System.out.println(thisYear);
System.out.println(lastDayOfMonth);
}
}
- WEEK_OF_YEAR 오타입니다 ~
4. Calendar 클래스 예제
- set()으로 날짜와 시간지정하기
- clear()는 Calendar 객체의 모든 필드를 초기화시켜준다.
- 특정필드 초기화도 가능
- add()는 특정필드의 값을 증가 또는 감소(다른 필드에 영향을 준다.)
- roll()은 특정필드의 값을 증가 또는 감소(다른 필드에 영향을 주지 않는다.)
'Java > 객체지향' 카테고리의 다른 글
[객체지향][자바의 정석] - 12.Collection 인터페이스의 메서드 (0) | 2022.01.25 |
---|---|
[객체지향][자바의 정석] 10.2 - 형식화 클래스(숫자, 날짜) (0) | 2022.01.24 |
[객체지향][자바의 정석] - 9.4 Math & wrapper 클래스 (0) | 2022.01.21 |
[객체지향][자바의 정석] - 9.3 StringBuffer클래스 (0) | 2022.01.17 |
[객체지향][자바의 정석] - 9.2 String 클래스 (0) | 2022.01.08 |