Java/[inflearn] 자바 중급(1)

[김영한_자바중급][6. 날짜와 시간] ChronoUnit / ChronoField 이해하기 (p.24-32)

줌인. 2024. 4. 25. 17:29
ChronoField는 날짜나 시간의 특정 부분(예: 년, 월, 일)을 읽고 설정하는데 사용된다.
ChronoUnit은 두 날짜 또는 시간 사이의 간격을 측정하거나, 날짜/시간에 간격을 추가할 때 사용된다.

 

 

[예시] ChronoField와 ChronoUnit

LocalDateTime ldt = LocalDateTime.of(2024, 4, 25);
LocalDateTime ldt2 = ldt.plusDays(10);  // 10일 후의 날짜를 계산
  ChronoField ChronoUnit
예시 *년도: ldt.get(ChronoField.YEAR) → 2024
*월: ldt.get(ChronoField.MONTH_OF_YEAR) → 4
*일: ldt.get(ChronoField.DAY_OF_MONTH) → 25
*2024, 5, 5 → 10일 후의 날짜 계산
정의 - 날짜나 시간의 특정 부분을 다룬다.
- "", "", "", "시간", ""과 같이 날짜나 시간의
   구체적인 세부 사항을 말한다.

- 주로 특정 날짜의 특정 부분(예: 연도, 월, 일)
  가져오거나 설정할 때 사용된
.
- 시간의 길이를 나타낸다.
- 주로 시간을 얼마나 많이 더하거나 빼야할지, 
그리고 두 시간 사이에 얼마나 많은 시간이
있는지 계산할 때 사용된다.
비유 스톱워치를 사용해서 얼마나 많은 시간이 흘렀는지
측정하는 것과 같다.
ex) "이 스톱워치를 시작한 후 5초가 지났습니다."
시계나 달력에서 특정 숫자를 읽는 것과 같다.
ex) "지금은 5시 이고, 4월 24일 입니다."
코드화 `ChronoUnit.DAYS` : 생일부터 지금까지 몇일 지낫나
`ChronoField.DAY_OF_MONTH` : 월 확인
`ChronoField.YEAR` : 년 확인
결론 날짜나 시간의 구체적인 요소 시간의 길이나 기간

 

- ChronoUnit은 시간의 간격을 다양한 단위로 표현하고, 날짜와 시간을 조작하는 데 사용한다.
- Duration/Period는 각각 시간의 정밀한 부분과 날짜의 간격을 구체적으로 표현하며,
`ChronoUnit`을 사용하여 이들 간격을 정의하고 조작한다.

 

[ChronoUnit과 Period/Duration]

  ChoroUnit Period Duration
특징 날짜와 시간의 간격을
다양한 단위로 나누는 역할
년, 월, 을 사용하여
날짜의 간격을 표현
시간, 분, 를 사용하여
시간의 간격을 표현
상관관계 Duration/Period를 생성 및 날짜/시간을
조작할 때 사용할 수 있는 다양한 단위를 제공한다.
 

ChronoUnit을 사용하여 생성/조작될 수 있는 구체적인
시간 간격을 표현한 클래스
상관관계 예시 ChronoUnit.DAYS → Duration 생성
ChronoUnit.YEARS → Period 조작할 수 있다.
 
코드화 `SECONDS`, `MINUTES`, `HOURS`, `DAYS`,
`WEEKS`, `MONTHS`, `YEARS`

 

 

728x90