날짜와 시간
•
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
•
날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다
•
특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다