- java.util.Date
- 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0)
- Date의 메서드는 거의 deprecated되었지만, 여전히 쓰임.
- java.util.Calendar
- Date클래스를 개선한 새로운 클래스(JDK1.1). 여전히 단점 존재
- 실무에서는 많이 사용 중임.
- java.time 패키지
- Date와 Calendar의 단점을 개선한 새로운 클래스들을 제공(JDK1.8)
- Date와 Calendar는 날짜와 시간을 같이 이용하도록 되어있는데 time패키지는 날짜와 시간을 분리하는 기능이 있음.
- 날짜 LocalDate
- 시간 LocatTime
- 날짜와 시간 LocalDateTime
Calendar 클래스
- 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 함.
getInstance()메서드는 Calendar클래스를 구현한 클래스의 인스턴스를 반환.
Calendar cal = new Calendar(); //에러! 추상클래스는 인스턴스 생성 불가
Calendar cal = Calender.getInstance(); //OK!
- get()으로 날짜와 시간 필드 가져오기 - int get(int field)
Calendar cal = Calendar.getInstance(); //현재 날짜,시간으로 세팅
int thisYear = cal.get(Calendar.YEAR); //올해가 몇 년인지 알아냄.
int lastDayOfMonth = cal.getActualMaximum(Calendar.DATE); //이 달의 마지막 날
- Calendar에 정의된 필드

참고문헌&강의
남궁 성의 정석코딩