참고) 자바문서
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Date.html
예시1) Date

예시2) year, month

month : 0~11
예시3) epochTime

JDK 1.1
설계가 빈약
생성자함수 정의 못함
-> Calendar cal = new Calendar; ❌
-> Calendar cal = Calendar.getInstance();⭕
static Calendar getInstance() : 생성자 함수
서기 달력외에 다른 체계 달력(불기)을 지역화 설정에 따라 객체 생성
문제점
참고) 자바문서
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Calendar.html
예시1)

예시2) year, month, day

month : 0~11
예시3) int get

예시4) void set

예시)

예시)

ㄴ add는 year랑 month 둘다 돔

ㄴ roll은 month만 돌고 돔
Temporal, TemporalAccessor, TemporalAdjuster (하위)
TemporalAmount(하위)
TemporalField(하위) : 날짜, 시간 필드
TemporalUnit(하위) : 날짜, 시간 단위

LocalDateTime atTime(시간....) : 날짜 + 시간
참고)
✨Locale : 지역화
참고) 자바문서 LocalDate
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDate.html
예시) static LocalDate now()

예시) static LocalDate of(...)

예시) 조회

예시) 상수를 쓰는게 정석이지만 이미 많이쓰는거라 정의가 되어있다?

예시) Locale : 지역화


예시) Locale : TextStyle.FULL, TextStyle.SHORT


예시) 원객체의 불변성 유지⭕ : with(...)

ㄴ 원객체의 불변성 유지⭕
ㄴ 새로운 객체 생성
예시) 원객체의 불변성 유지⭕ : plus(...), minus(...)

ㄴ 원객체의 불변성 유지⭕
ㄴ 새로운 객체 생성
LocalDateTime atTime(LocalDate ...) : 시간 + 날짜
참고)
LocalDate와 메서드 정의 거의 비슷
예시) static LocalDate now(), static LocalDate of(...)

ZonedDateTime atZone(ZoneId ...) : 날짜시간 + 시간대
OffsetDateTime atOffset(ZoneOffset ...)
예시) LocalDateTime

예시)

예시)

예시) 현재 영국 시간

ㄴ 오전 8시 22분...
예시) 뉴욕 현지 시간

ㄴ 새벽 3시 24분...
예시)

참고) Timestamp - 초 단위 카운팅
: Date 클래스로 만들어진 객체 -> 변환(Date클래스에 toInstant())
예시)


참고) 자바문서_Duration
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html
예시)

예시) 초

예시)


참고) 자바문서_Period
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Period.html
예시)


참고) 자바문서_DateTimeFomatter
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/format/DateTimeFormatter.html

예시) format

예시) parse

TemporalField 인터페이스 - 필드
TemporalUnit 인터페이스 - 단위
ZoneId
ZoneOffset
특정 필드의 값 가져오기 - get(), getXXX()
필드의 값 변경하기 - with(), plus(), minus()
날짜와 시간의 비교 - isAfter(), isBefore(), isEqual()
now() : 현재 날짜,시간
of(....)
java.time.format
형식화 문자열 -> 날짜/시간
DateTimeFormatter
DateTimeFormatter state ofPattern("패턴")
.format(TemporalAccessor ...)
# 패턴참고) 자바문서_DecimalFormat
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/text/DecimalFormat.html
예시) format(...) : 0 패턴, # 패턴

예시) parse

예시) format(..)

예시) parse(..)

참고) 자바문서_ChoiceFormat
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/text/ChoiceFormat.html
예시)