LocalDateTime — 시간대 없는 날짜-시간

LocalDateTime — 시간대 없는 날짜-시간

ISO-8601 달력 체계에서 시간대가 없는 날짜-시간을 나타내는 클래스예요. 예: 2007-12-03T10:15:30.

출처: Java API Reference

본문

시그니처

public final class LocalDateTime extends Object
    implements Temporal, TemporalAdjuster, ChronoLocalDateTime<LocalDate>, Serializable

구현된 인터페이스: Serializable, Comparable<ChronoLocalDateTime<?>>, ChronoLocalDateTime<LocalDate>, Temporal, TemporalAccessor, TemporalAdjuster.

설명

LocalDateTime은 불변(immutable) 날짜-시간 객체로, 보통 연-월-일-시-분-초로 보는 날짜-시간을 나타내요. 일 기준 일, 요일, 주 기준 일 같은 다른 날짜·시간 필드에도 접근할 수 있어요. 시간은 나노초 정밀도로 표현돼요. 예를 들어 "2007년 10월 2일 13:45.30.123456789"라는 값을 LocalDateTime에 저장할 수 있어요.

이 클래스는 시간대를 저장하거나 나타내지 않아요. 대신 생일처럼 쓰는 날짜 설명과 벽시계에서 보는 로컬 시간을 결합한 것이에요. 오프셋이나 시간대 같은 추가 정보 없이는 시간선 위의 순간(instant)을 나타낼 수 없어요.

이 클래스는 값 기반(value-based) 클래스예요. 프로그래머는 서로 같은 인스턴스를 교환 가능하게 취급해야 하며, 동기화에 인스턴스를 사용하면 안 돼요. 비교에는 equals 메서드를 사용해야 해요.

주요 메서드

  • now() — 시스템 시계에서 현재 날짜-시간을 얻어요.
  • of(LocalDate date, LocalTime time) — 날짜와 시간에서 LocalDateTime 인스턴스를 얻어요.
  • parse(CharSequence text) — ISO-8601 텍스트에서 LocalDateTime 인스턴스를 얻어요.
  • atOffset(ZoneOffset offset) — 이 날짜-시간을 오프셋과 결합해 OffsetDateTime을 만들어요.
  • atZone(ZoneId zone) — 이 날짜-시간을 시간대와 결합해 ZonedDateTime을 만들어요.
  • format(DateTimeFormatter formatter) — 지정한 포맷터를 사용해 이 날짜-시간을 포맷해요.
  • plusDays(long days) / minusDays(long days) — 날짜-시간을 더하거나 뺀 복사본을 반환해요.
  • toLocalDate() — 이 날짜-시간의 날짜 부분을 얻어요.
  • toLocalTime() — 이 날짜-시간의 시간 부분을 얻어요.
  • getHour() — 시 필드를 얻어요.
  • isAfter(ChronoLocalDateTime<?> other) — 다른 날짜-시간보다 이후인지 확인해요.

더 알아보기 (Learn more)