본문으로 건너뛰기

"Java" 태그로 연결된 5개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 2분

이전에 많은 문제가 있던 자바의 클래스(Calendar, Date)를 대체하는 날짜와 시간 API
ISO-8601을 기반으로 작성
설계 목표 → 불변, Fluent API, 명확하고 명시적, 확장 가능성

ISO-8601

날짜와 시간에 관련된 데이터를 다루는 국제 표준

LocalDate, LocalTime, LocalDateTime

날짜와 시간을 표현하는 클래스

Instant

유닉스 시간(1970-01-01, 00:00:00 UTC) 기준으로 특정 지점까지의 시간을 초로 표현하는 클래스
기계의 관점에서 시간 표현

Duration, Period

간격을 표현하는 클래스

TemporalAdjusters

복잡한 날짜 조정이 필요할 때 사용
필요한 경우 다음 인터페이스를 구현하여 커스텀 TemporalAdjuster를 구현 가능

@FunctionalInterface
public interface TemporalAdjuster {
Temporal adjustInto(Temporal temporal);
}

DateTimeFormatter

날짜와 시간 포맷 클래스
특정 날짜 패턴이나, DateTimeFormatterBuilder를 이용해서 커스텀한 포맷을 생성 가능

ZoneId, ZoneOffset

ZoneId는 지역 ID는 ‘지역/도시’ 형식, ZoneOffset은 시차 UTC 기준 고정된 시간 차이 이용
ZoneId의 경우 IANA Time Zone Database에서 제공하는 지역 집합 정보 사용

Instant instant = Instant.now();
LocalDateTime utc = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);

참고 자료