날짜와시간
java.util.Date
- 날짜와 시간을 다룰 목적으로 만들어진 클래스
- Date 메서드는 거의 deprecated(사용 권장 x), 하지면 여전히 쓰이고있다
java.util.Calendar
- Date 클래스를 개선한 새로운 클래스 , 하지만 여젼히 단점이 존재
Date,Calendar의 단점
java.time패키지
- Date와 Calendar의 단점을 개선한 새로울 클래스들을 제공(JDK1.8)
Calendar클래스
- 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 한다
Calendar cal = Calendar.getInstance();
Calendar클래스 예제 (1)
- get메서드를 이용해서 정보를 얻어오는법
- 주의할점 월(MONTH)는 0부터 시작 0이면 1월이다

Calendar클래스 예제 (2)
- set()로 날짜와 시간 지정하는법
- clear()를 해주면 모든 필드를 초기화한다
- 객체생성후 현시간을 사용하지 않는다면 clear() 한 이후 사용할것.
set()을 사용한다면 그전에 clear()하자

Calendar클래스 예제 (3)
- add()는 특정 필드의 값을 증가 또는 감소(다른 필드에 영향O)
7월31일에서 일에 +1 하면 8월로 변함
- roll()은 특정 필드의 값을 증가 또는 감소 (다른 필드에 영향x)
7월31일에서 일에 +1하면 그냥 7월1일
원하는 달력 찍어보기
형식화 클래스 DecimalFormat
- java.text패키지의 DecimalFormat,SimpleDateFomat
- 숫자와 날짜를 원하는 형식으로 쉽게 출력가능 (숫자,날짜 -> 형식 문자열)
format()
- 형식 문자열에서 숫자와 날짜를 뽑아내는 기능 (형식 문자열 -> 숫자,날짜)
parse()
-#, 0 ,E 기호등으로 사용한다
형식화 클래스 SimpleDateFomat
- 날짜와 시간을 다양한 형식으로 출력할 수 있게해준다
Date today = new Date();
SimpleDateFormat df = new SimepleDateFormat("yyyy-MM-dd");
String result = df.format(today);
- 특정 형식으로 되어있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다
DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일")
DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd")
Date d = df.parse("2015년 11월 23일")
String result = df2.format(d)