HijrahChronology

HijrahChronology (히즈라 달력 시스템)

이슬람 달력을 지원하는 음력 달력인 히즈라(Hijrah) 달력을 나타내는 클래스예요. HijrahChronology는 히즈라 달력 시스템의 규칙을 따르고, Chronology 인터페이스를 구현해요.

출처: Java API Reference

본문

히즈라 달력은 새 달이 언제 발생했는지와 어디에서 관측되는지의 차이에 기반한 여러 변형(variant)이 있어요. 어떤 변형은 각 달의 길이를 달과 지구의 천문 데이터로 알고리즘적으로 계산하고, 다른 변형은 허가된 새 달 관측으로 달의 길이를 결정해요. 알고리즘 기반 달력은 미래로 투영될 수 있지만, 관측 기반 달력은 과거 관측의 역사적 데이터만 사용할 수 있어요.

각 달의 길이는 29일 또는 30일이에요. 평년은 354일, 윤년은 355일이에요.

CLDR과 LDML은 변형을 식별해요. 예를 들어:

Chronology ID Calendar Type Locale extension
Hijrah-umalqura islamic-umalqura ca-islamic-umalqura

사우디아라비아의 Umm Al-Qura 달력이 그 예시예요. 추가 변형은 Chronology.getAvailableChronologies()로 사용할 수 있어요.

로케일에서 chronology를 선택하는 예시예요.

Locale locale = Locale.forLanguageTag("en-US-u-ca-islamic-umalqura");
Chronology chrono = Chronology.ofLocale(locale);

Chronology.ofLocale(Locale)은 지원되는 BCP 47 확장 메커니즘으로 특정 달력("ca")을 요청해 요청된 로케일에 기반해 Chronology를 찾아요.

더 알아보기 (Learn more)

Java 공식 API