날짜와 시간
- java.util.Date
- 날짜와 시간을 다룰 목적으로 만들어진 클래스
- Date의 메서드는 거의 삭제됨
- java.util.Calendar
- Date클래스 개선
- java.time패키지
- Date와 Calendar의 단점을 개선 JDK1.8
Calendar클래스
- 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야한다.
- 주의할점!!! Month 필드는 값이 0
11이므로 112월 계산시 고려해야함 - getInstance()의 현재시간으로 초기화된 객체반환. clear()한다면 Calendar객체의 모든 필드를 초기화 (1970년 1월 1일 0시0분0초)
- clear(int field)는 Calender특정 필드 초기화 가능
- 반드시 계산시 clear로 초기화하고 해야 오차없음
Calendar클래스 - 예제1
- get()으로 날짜와 시간 필드 가져오기 - int get(int field)
Calendar클래스 - 예제 2,3
- 주의할점은 set()에 시간을 한번에 초기화하는 것은 존재안하므로 각자해줘야함
- 예제 2
1 | import java.util.*; |
- 예제3
1 | final int[] TIME_UNIT = {3600, 60, 1}; // 큰 단위를 앞에 놓는다. |
Calendar클래스 - 예제4,5
- add()는 특정 필드의 값을 증가 또는 감소(다른 필드에 영향O)
- roll()은 특정필드의 값을 증가 또는 감소 (다른 필드에 영향X)
Date와 Calendar간의 변환
- Date의 메서드는 대부분 deprecated되었지만 여전히 사용
형식화 클래스
- 날짜와 숫자 원하는 형식으로 출력가능
DecimalFormat
- 숫자를 형식화할 때 사용(숫자→형식 문자열)
- parse를 활용하면, format인 애를 숫자 추출가능
SimpleDateFormat(1/2)
- 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다
SimpleDateFormate(2/2)
- 특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼수도있다.