ChronoLocalDateTime
ChronoLocalDateTime (임의 달력의 날짜·시간)
임의의 달력 시스템(chronology)에서 시간대(time-zone)가 없는 날짜·시간을 나타내는 인터페이스예요. 고급 국제화(globalization) 사용 사례를 위해 마련된 것이에요. 대부분의 애플리케이션에서는 이 인터페이스 대신 LocalDateTime을 메서드 시그니처·필드·변수로 선언해야 해요.
본문
ChronoLocalDateTime은 달력 시스템이 플러그인 가능한 로컬 날짜·시간의 추상 표현이에요. 날짜·시간은 TemporalField로 표현되는 필드들로 정의되며, 가장 흔한 구현은 ChronoField에 정의돼 있어요. 달력 시스템이 어떻게 동작하고 표준 필드가 무엇을 뜻하는지는 chronology가 정의해요.
public interface ChronoLocalDateTime<D extends ChronoLocalDate>
API 설계는, 애플리케이션이 여러 달력 시스템을 다뤄야 하는 경우에도 LocalDateTime을 쓰도록 권장해요. 그 이유는 ChronoLocalDate에서 자세히 다뤘어요. 이 인터페이스를 쓰기 전에 반드시 ChronoLocalDate의 논의를 읽고 이해해야 해요.
toLocalDate(), toLocalTime(), atZone(ZoneId) 같은 메서드로 날짜 부분과 시간 부분을 분리하거나 시간대를 붙일 수 있어요. 일반적으로 애플리케이션에서 ChronoLocalDateTime을 아무 데나 전달하는 것은 불필요하고, ISO 기반 LocalDateTime으로 충분한 경우가 대부분이에요.