java.util .Date ---------- ------ 패지지명 클래스명 |
설명 | |||
1 | java.util.Date | 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK1.0) Date의 메서드는 거의 deprecated되었지만, 여전히사용중 (1995) 단점 : 날짜 + 시간을 같이 다루게되어있음 |
||
2 | java.util.Calendar | Date클래스를 개선한 새로운 클래스(JDK1.1) 여전히 단점이 존재 (1997) 단점 : 날짜 + 시간을 같이 다루게되어있음 |
||
3 | java.time패키지 | Date와 Calendar의 단점을 개선한 새로운 클래스들 제공 (JDK1.8)(2014) 단점보완 날짜 : LocalDate 클래스 시간 : LocalTime 클래스 날짜+시간 : LocalDateTIme 클래스 |
Calendar 클래스
규칙
1. 추상클래스이므로 getInstance()를 통해 구현된 객체를 얻어야한다.
2. get()으로 날짜와 시간 필드 가져올수 있다. //get() 필드 읽기
3. set()으로 원하는 날짜와 시간 지정할 수 있다. //set() 필드 변경
4. clear()는 Calendar객체의 모든필드 초기화 //clear() 필드 초기화
ㄴ clear(int field)는 Calendar객체의 특정 필드를 초기화
5. set을 사용할때는 celar() 후 진행하는게 정확하다.
6. add()는 특정 필드의 값을 증가 또는 감소 (다른필드에 영향 O) (ex 몇일뒤) // add() 필드 변경
7. roll()은 특정 필드의 값을 증가 또는 감소 (다른필드에 영향 X) (ex 몇일뒤) // add() 필드 변경
8. Date의 메서드는 대부분 deprecated되었지만 여전히 사용
※ 캘린더종류 : 서양력 (우리나라 사용), 불교력, 일본력
예제1
예제2
오버로딩된 다양한 set() 메서드가 있음
get() 예시
두 날짜 차이를 얻으려면
① 두 날짜를 초로 변환 // ( getTimeInMillis() = 1000분의 1초 )
② 날짜1(초) - 날짜2(초) = 결과(초) // 1000분의 1초를 → 1초로 바꾸려면, 1000분의 1초 / 1000 을 한다.
③ 결과를 원하는 연월일이나 시분초로 변환
※ 초단위를 시간으로 구하기위해 60분 * 60초 = 3600
두 시간 차이 ( set()예시 )
clear()는 Calendar객체의 모든필드 초기화
set을 사용할때는 celar() 후 진행하는게 정확
add() 필드 값을 증가 or 감소
예제 달력만들기
Date와 Calendar간의 형변환
Date의 메서드는 대부분 deprecated되었지만 여전히 사용
출처 : 남궁성의 정석코딩
https://www.youtube.com/@MasterNKS
'Java의 정석' 카테고리의 다른 글
11장. 컬렉션 프레임웍과 핵심인터페이스 (0) | 2023.02.13 |
---|---|
10장. 날짜와 시간 & 형식화 ( 형식화 클래스, SimpleDateFormat ) (0) | 2023.02.12 |
9장. String.lang패키지(StringBuilder,Math클래스, 래퍼클래스, 날짜) (0) | 2023.02.12 |
9장. String.lang패키지(String클래스, StringBuffer클래스) (0) | 2023.02.11 |
9장. 유용한클래스(Object클래스, equals(), hashCode(),toString(),String클래스의 문자열비교) (0) | 2023.02.11 |