이 라이브러리는 이란과 아프가니스탄에서 사용되는 Solar Hijri 달력을 구현합니다.
위키피디아에서:
Solar Hijri 달력(페르시아어: гا しماری هجری هجری ارسیدی, 로마자 표기: gāh-shomāri-ye hejri-ye khorshidi, 파슈토어: لمريج لڐږدیی جییج)은 Solar Hijri 달력 또는 Shamsi Hijri 달력이라고도 하며 SH로 축약되는 공식 달력입니다. 이란의 달력과 아프가니스탄. 이란 표준시 자오선(52.5°E, UTC+03:30)에 대한 천문학적 계산에 따라 결정된 3월 춘분(나우루즈)에 시작됩니다.
각 연도의 시작에 대한 결정은 평균적으로 동일한 연도를 가지며 동일한 정확도를 달성하는 더 고정된 그레고리력 또는 "서기 달력"과 달리 천문학적으로 해마다 정확합니다(더 단순한 패턴의 달력). ) 3년 연속 365일 달력에 다음 해에 추가 하루가 추가됩니다. 단, 3년에 대한 예외는 제외됩니다. 4세기마다). 한 해의 시작과 일수는 밤과 낮의 길이가 같은 천문학적으로 중요한 날인 두 분점 중 하나로 고정되어 있습니다. 특정 달력 날짜를 특정 연도와 다른 연도와 비교할 때 모든 천체의 변동성이 줄어듭니다.[2]
12개월 각각은 황도대 별자리에 해당합니다. 처음 6개월은 31일, 다음 5개월은 30일, 마지막 달은 평년에는 29일, 윤년에는 30일입니다. 설날은 항상 3월 춘분에 해당합니다.
ex_cldr_calendars_persian은 Calendar
및 Cldr.Calendar
동작을 모두 준수하므로 Date
, DateTime
, NaiveDateTime
, Time
및 Calendar
함수의 함수가 지원됩니다.
Elixir 버전 1.9 이하의 경우 날짜는 다음 방법으로 생성할 수 있습니다.
iex > { :ok , date } = Date . new ( 1354 , 1 , 1 , Cldr.Calendar.Persian )
{ :ok , ~D [ 1354-01-01 Cldr.Calendar.Persian ] }
Elixir 버전 1.10 이상에서는 Sigil_D
사용자 정의 달력을 지원합니다:
iex> ~D[1354-01-01 Cldr.Calendar.Persian]
~D[1354-01-01 Cldr.Calendar.Persian]
ex_cldr_calendars_persian
달력 현지화를 지원하는 ex_cldr_calendars에 의존합니다. 전체 날짜 및 시간 형식을 보려면 ex_cldr_dates_times를 참조하세요.
기본 지역화는 Cldr.Calendar.localize/3
에 의해 수행됩니다. 예를 들어:
iex > Cldr.Calendar . localize ( date , :month , locale: "en" )
"Farvardin"
iex > Cldr.Calendar . localize ( date , :month , locale: "fa" )
"فروردین"
iex > Cldr.Calendar . localize ( date , :day_of_week , locale: "fa" )
"جمعه"
iex > Cldr.Calendar . localize ( date , :day_of_week , locale: "en" )
"Fri"
이 라이브러리는 다음을 포함하는 Elixir용 CLDR 라이브러리의 일부입니다.
mix.exs
의 종속성 목록에 cldr_calendars_persian
추가하여 패키지를 설치할 수 있습니다.
def deps do
[
{ :ex_cldr_calendars_persian , "~> 1.0" }
]
end
설명서는 https://hexdocs.pm/ex_cldr_persian_calendars에서 찾을 수 있습니다.