LocalDate — 시간대 없는 날짜

LocalDate — 시간대 없는 날짜

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

출처: Java API Reference

본문

시그니처

public final class LocalDate extends Object
    implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable

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

설명

LocalDate는 불변(immutable) 날짜-시간 객체로, 보통 연-월-일로 보는 날짜를 나타내요. 일(year) 기준 일, 요일, 주 기준 일 같은 다른 날짜 필드에도 접근할 수 있어요. 예를 들어 "2007년 10월 2일"이라는 값을 LocalDate에 저장할 수 있어요.

이 클래스는 시간이나 시간대를 저장하거나 나타내지 않아요. 대신 생일처럼 날짜의 설명 역할을 해요. 오프셋이나 시간대 같은 추가 정보 없이는 시간선 위의 순간(instant)을 나타낼 수 없어요.

ISO-8601 달력 체계는 오늘날 전 세계 대부분에서 사용하는 현대 민간 달력 체계예요. proleptic 그레고리 달력과 동일하며, 오늘의 윤년 규칙을 모든 시간에 적용해요. 오늘 작성되는 대부분의 애플리케이션에는 ISO-8601 규칙이 완전히 적합하지만, 역사적 날짜를 정확하게 다뤄야 하는 애플리케이션에는 맞지 않을 수 있어요.

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

주요 메서드

  • now() — 시스템 시계에서 현재 날짜를 얻어요.
  • of(int year, int month, int dayOfMonth) — 연, 월, 일에서 LocalDate 인스턴스를 얻어요.
  • parse(CharSequence text) — ISO-8601 텍스트에서 LocalDate 인스턴스를 얻어요.
  • plusDays(long daysToAdd) / minusDays(long daysToSubtract) — 일 수를 더하거나 뺀 날짜를 반환해요.
  • atStartOfDay() — 이 날짜를 자정 시간과 결합해 이 날짜의 시작에 LocalDateTime을 만들어요.
  • atTime(int hour, int minute) — 이 날짜를 시간과 결합해 LocalDateTime을 만들어요.
  • getDayOfWeek() — 요일 필드를 얻어요.
  • getDayOfYear() — 일 기준 필드를 얻어요.
  • isLeapYear() — 이 날짜가 속한 연도가 윤년인지 확인해요.
  • getYear() — 연도 필드를 얻어요.

더 알아보기 (Learn more)