Search

자바의 정석 Chapter 10 : 날짜와 시간 클래스

날짜와 시간
java.util.Date
날짜와 시간을 다룰 목적으로 만들어진 클래스 (jdk1.0부터)
Date의 메서드는 거의 deprecated 되었지만 여전히 쓰이고 있다
java.util.Calendar
Data 클래스를 개선한 새로운 클래스(jdk1.1부터)지만 여전히 단점이 존재
java.time 패키지
Data와 Calendar의 단점을 개선한 새로운 클래스들을 제공(jdk1.8부터)
Calendar 클래스
추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 한다
Calendar cal = new Calendar(); 는 에러!!!!
Calendar cal = Calendar.getInstance(); 는 OK
캘린더는 3가지 종류가 있다 (서양력, 불교력, 일본력)
set()
날짜와 시간 지정하기
getTimeInMillis()
두 날짜 간의 차이를 구하는 방법
clear()
Calendar 객체의 모든 필드를 초기화 (여러 객체를 만들 때 ms 차이를 없앨 수 있음)
clear(int field)는 Calendar 객체의 특정 필드를 초기화
add()
특정 필드의 값을 증가 또는 감소 (다른 필드에 영향 O)
roll()
특정 필드의 값을 증가 또는 감소 (다른 필드에 영향 X)
Data와 Calendar 간의 변환
형식화 클래스
java.text 패키지의 DecimalFormat, SimpleDateFormat
숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 → 형식 문자열)
형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 → 숫자, 날짜)
DecimalFormat
숫자를 형식화할 때 사용(숫자 → 형식 문자열)
특정 형식의 문자열을 숫자로 변환할 때도 사용(형식 문자열 → 숫자)
SimpleDateFormat
날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다
특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다