시점, 지역 날짜, 기간과 시간대를 구분합니다.
LocalDate는 날짜, Instant는 UTC 시점, ZonedDateTime은 시간대가 있는 날짜·시간, Duration과 Period는 기간을 표현합니다. java.time 타입은 대부분 불변입니다.
예제에서 Instant.parse(text); instant.atZone(zone) 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
DateTimeFormatter로 명시적인 형식을 사용하고 시스템 기본 시간대에 암묵적으로 의존하지 않습니다.
DB에는 보통 UTC 시점을 저장하고 사용자 경계에서 지역 시간대로 변환하며 DST 전환을 테스트합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 마감일까지 남은 날짜를 계산하세요.
LocalDateTime에는 시간대가 없어 전 세계의 한 시점을 단독으로 표현하지 못합니다.
직접 바꿔보세요마감일까지 남은 날짜를 계산하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.