HijrahDate
HijrahDate (히즈라 달력의 날짜)
히즈라(Hijrah) 달력 시스템의 날짜를 나타내는 클래스예요. 이 날짜는 히즈라 달력의 여러 변형 중 하나로 동작해요. 히즈라 달력은 그레고리력과 연간 총 일 수가 다르고, 각 달의 길이는 달이 지구 주위를 완전히 한 바퀴 도는 주기(연속된 새 달 사이)에 기반해요. 지원되는 변형의 상세는 HijrahChronology를 참고하면 돼요.
본문
각 HijrahDate는 특정 HijrahChronology에 묶여 생성돼요. 날짜에서 계산된 각 HijrahDate에도 같은 chronology가 전파돼요. 다른 히즈라 변형을 쓰려면 그 HijrahChronology로 새 HijrahDate 인스턴스를 만들거나, withVariant(java.time.chrono.HijrahChronology) 메서드를 사용해 새 HijrahChronology로 변환할 수 있어요.
public final class HijrahDate
extends Object
implements ChronoLocalDate
HijrahChronology.INSTANCE를 통해 날짜를 만들 수 있어요.
HijrahDate date = HijrahChronology.INSTANCE.date(1445, 9, 1);
입력 날짜가 유효하지 않으면 DateTimeException이 던져져요. 히즈라 달력은 연호가 하나뿐이므로 getEra()는 HijrahEra.AH를 반환해요.
이 클래스는 값 기반 클래스(value-based class)예요. 동일한 인스턴스는 서로 교환 가능하게 취급하고 동기화에 인스턴스를 사용하지 않아야 해요. 그렇게 하면 예측 불가능한 동작이 발생할 수 있어요. 비교는 equals 메서드를 사용해야 해요.