ChronoPeriod
ChronoPeriod (임의 달력의 기간)
임의의 달력 시스템(chronology)에서 '3년 4개월 5일' 같은 날짜 기반 시간량(date-based amount of time)을 나타내는 인터페이스예요. 고급 국제화 사용 사례를 위해 마련된 것이에요.
본문
이 인터페이스는 달력 시스템에서 날짜 기반 시간량을 모델링해요. 대부분의 달력 시스템은 연·월·일을 쓰지만, 어떤 달력은 그렇지 않아요. 그래서 이 인터페이스는 Chronology가 정의하는 지원 단위(supported units)의 집합만으로 동작해요. 지원 단위의 집합은 주어진 달력 시스템마다 고정되어 있어요.
지원 단위의 양은 0으로 설정될 수 있어요. 기간은 방향성이 있는 시간량(directed amount of time)으로 모델링되는데, 즉 기간의 각 부분은 음수일 수 있어요.
public interface ChronoPeriod extends TemporalAmount
Period가 ISO 달력의 ChronoPeriod 구현이고, between()이나 addTo() 같은 연산 외에 get(ChronoUnit), isZero(), isNegative(), toString() 등을 제공해요.
이 인터페이스를 그대로 쓸 필요는 드물어요. 대부분은 표준 ISO 달력 기반인 java.time.Period로 충분하고, 다른 달력 시스템의 기간이 필요할 때만 Chronology에서 해당 구현을 얻어 사용해요.