날짜와 시간

공부·2024년 12월 4일

:: 날짜와 시간

  • 특정 시점의 시간(시각)
    • 내 생일은 3월 10일이야.
    • 이 프로젝트는 2013년 8월 16일까지 완료해야 해
  • 특정 시점의 시간 (Temporal Interface (TemproalAccessor))
    • LocalDateTime, LocalDate, LocalTime
    • ZonedDateTime, OffsetDateTime
    • Instant

  • 시간의 간격(기간, 시간의 양)
    • 라면은 3분 동안 끓여야 해
    • 이 프로젝트는 3개월 남았어
    • 앞으로 30년은 더 공부해야 해
  • 시간의 간격(기간, TemporalAmount interface)
    • Period , Duration

:: 시간의 단위와 시간 필드

  • ChronoUnit(TemporalUnit Interface) : 열거형 , 다양한 시간 단위 제공
  • ChronoField(TemporalField Interface) : 열거형 , 날짜와 시간의 특정 부분을 제공
    • 연도, 월, 일, 시간, 분

      @ Chorono는 단독으로 사용하기 보다는 날짜와 시간을 조회하거나 조작할 때 사용


기억하기

  • 조회 : get
  • 수정 및 조작 : plus
  • 복잡한 계산 : With (TemporalAdjusters interface)
  • 포맷팅 : DateTimeFormatter
  • 파싱 : .parse

마무리

날짜와 시간 파트는 강의 시간이 파트 중 제일 길었고, 이론적인 부분들이 많았다.

당장 모든걸 외워서 사용하는건 말이 안되는 것 같고

추후 필요 시 서두의 객체들을 위주로 참고해서 찾아봐야 할 것 같다.

확실히 시간 관련은 윤달, 일광 절약 시간제(DST, SummerTime) 등

생각해야 할 변수들이 많은 것 같지만 이 부분 역시 ZonedDateTime 객체를 통해

Offset과 ZoneId를 통해 DST를 손쉽게 해결할 수 있다는 점이 흥미로웠다.

보통 한국에서의 프로젝트는 대부분 LocalDate, LocaTime, LocaDateTime 정도를

사용한다는 것 같고 곁가지로 Chrono 타입을 이용해서 조회하거나 조작하는 등

여러가지 방법으로 사용하는 것 같은데, 시간 관련은 민감하고 복잡하니

일단, 이런게 있구나 생각하고 넘어가자

0개의 댓글