LocalDate — 시간대 없는 날짜
LocalDate — 시간대 없는 날짜
ISO-8601 달력 체계에서 시간대가 없는 날짜를 나타내는 클래스예요. 예: 2007-12-03.
본문
시그니처
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()— 연도 필드를 얻어요.