Perpustakaan ini mengimplementasikan kalender Matahari Hijriah yang digunakan di Iran dan Afganistan.
Dari wikipedia:
Kalender Solar Hijriah (Persia: غا شماری هجری خورشیدی , diromanisasi: gāh-shomāri-ye hejri-ye khorshidi; Pashto: لمريز لېږدیز خیز ), juga disebut kalender Solar Hijriah atau kalender Shamsi Hijriah, dan disingkat menjadi SH, adalah pejabatnya kalender Iran dan Afganistan. Ini dimulai pada ekuinoks bulan Maret (Nowruz) sebagaimana ditentukan oleh perhitungan astronomi untuk meridian Waktu Standar Iran (52,5°BT, UTC+03:30).
Penentuan awal setiap tahunnya akurat secara astronomis dari tahun ke tahun dibandingkan dengan kalender Gregorian yang lebih tetap atau "Kalender Era Biasa" yang, jika dirata-ratakan, memiliki panjang tahun yang sama, mencapai keakuratan yang sama (yang berpola lebih sederhana). ). kalender yang terdiri dari 365 hari selama tiga tahun berturut-turut ditambah satu hari tambahan pada tahun berikutnya, kecuali pengecualian pada tahun berikutnya dalam tiga tahun berturut-turut. dari setiap empat abad). Permulaan tahun dan jumlah hari tetap ditentukan pada salah satu dari dua ekuinoks, hari-hari penting secara astronomis yang memiliki durasi siang sama dengan malam. Hal ini mengakibatkan berkurangnya variabilitas semua benda langit ketika membandingkan tanggal kalender tertentu dari satu tahun ke tahun lainnya.[2]
Masing-masing dari dua belas bulan berhubungan dengan tanda zodiak. Enam bulan pertama memiliki 31 hari, lima bulan berikutnya memiliki 30 hari, dan bulan terakhir memiliki 29 hari pada tahun normal tetapi 30 hari pada tahun kabisat. Hari Tahun Baru selalu jatuh pada titik balik bulan Maret.
ex_cldr_calendars_persian sesuai dengan perilaku Calendar
dan Cldr.Calendar
dan oleh karena itu fungsi dalam fungsi Date
, DateTime
, NaiveDateTime
, Time
dan Calendar
didukung.
Untuk versi Elixir hingga dan termasuk 1.9, tanggal dapat dibuat dengan:
iex > { :ok , date } = Date . new ( 1354 , 1 , 1 , Cldr.Calendar.Persian )
{ :ok , ~D [ 1354-01-01 Cldr.Calendar.Persian ] }
Untuk Elixir versi 1.10 dan yang lebih baru, Sigil_D
mendukung kalender yang ditentukan pengguna:
iex> ~D[1354-01-01 Cldr.Calendar.Persian]
~D[1354-01-01 Cldr.Calendar.Persian]
ex_cldr_calendars_persian
bergantung pada ex_cldr_calendars yang mendukung pelokalan kalender. Untuk format tanggal dan waktu selengkapnya, lihat ex_cldr_dates_times.
Lokalisasi dasar dilakukan oleh Cldr.Calendar.localize/3
Misalnya:
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"
Perpustakaan ini adalah bagian dari perpustakaan CLDR untuk Elixir termasuk:
Anda dapat menginstal paket dengan menambahkan cldr_calendars_persian
ke daftar dependensi Anda di mix.exs
:
def deps do
[
{ :ex_cldr_calendars_persian , "~> 1.0" }
]
end
Dokumentasi dapat ditemukan di https://hexdocs.pm/ex_cldr_persian_calendars.