java.time.Period 클래스

·2023년 6월 11일
post-thumbnail

📌Period?

Period 객체는 우리가 흔히 아는 날짜처럼 표현되지 않고, 날짜 값 그 자체를 표현한다고 보시면 됩니다. 말로는 이해가 잘 안 가실테니 예시를 살펴보겠습니다.

우리가 흔히 사용하는 yyyy-MM-dd의 형태가 아니죠?
살펴 보시면 P는 Period 값을 의미합니다.
그리고 Month는 값이 30인데도 그대로 출력이 됐네요.
이처럼 Period는 년, 월, 일 값을 별다른 계산 없이 그대로 담고 있습니다.


Period의 주요 메서드

📖 of, ofDays, ofMonths, ofWeeks, ofYears

직관적인 메서드들입니다. 매개변수로 입력한 값 * 날짜 단위 값을 반환합니다.

📖 between(LocalDate startDate, LocalDate endDate)

두 LocalDate 타입의 날짜 차이를 Period 타입으로 반환합니다.


📖 Period plus(Period other), Period minus(Period other)

두 Period를 더하고 빼는 기능입니다. 반환값은 역시 Period 타입이고,
minus는 음수값도 나올 수 있습니다.


📖 getYears(), getMonths(), getDays(), get(TemporalUnit unit)

시간 객체에 자주 쓰이는 메서드들입니다. Period 타입값을 순서대로 년, 월, 일 값을 추출하는 메서드입니다. 반환값은 int입니다.
마지막 get(TemporalUnit unit)은 유닛 단위로 Period 값을 계산합니다.
반환값은 Long입니다.


📖 negated()

Period의 부호를 반전시키는 메서드입니다. 반환타입은 Period입니다.


📖 normalized()

정규화 메서드입니다. 범위를 벗어난 Period 값을 우리가 아는 날짜 규칙에 맞게끔 수정합니다.

📖 isNegative(), isZero()

isNegative()는 Period 타입이 음수이면 true 아니면 false를 출력하고,
isZero()는 Period의 모든 구성요소가 0이면 true 아니면 false를 출력합니다.


📖 multipliedBy(int scalar)

Period의 구성요소에 입력한 값만큼 곱셈을 해주는 메서드입니다. 반환타입은 Period입니다.

profile
개발자가 되기 위해 페달을 밟아가는 과정

0개의 댓글