تطبق هذه المكتبة التقويم الهجري الشمسي المستخدم في إيران وأفغانستان.
من ويكيبيديا:
التقويم الهجري الشمسي (بالفارسية: غاشماری هجری خورشیدی، بالحروف اللاتينية: gāh-shomāri-ye hejri-ye khorshidi؛ الباشتو: لمريز لېږدیز خیز)، ويسمى أيضًا التقويم الهجري الشمسي أو التقويم الشمسي الهجري، ويختصر بـ SH، هو التقويم الرسمي. تقويم إيران و أفغانستان. يبدأ في اعتدال مارس (النوروز) كما تحدده الحسابات الفلكية لخط الطول بالتوقيت الرسمي الإيراني (52.5 درجة شرقًا، UTC+03:30).
إن تحديد بداية كل عام دقيق فلكيًا من سنة إلى أخرى على عكس التقويم الغريغوري الأكثر ثباتًا أو "تقويم العصر المشترك" الذي، في المتوسط، له نفس طول السنة، ويحقق نفس الدقة (نمط أكثر بساطة). تقويم مكون من 365 يومًا لمدة ثلاث سنوات متتالية بالإضافة إلى يوم إضافي في السنة التالية، باستثناء الاستثناءات لهذا الأخير في ثلاث سنوات. من كل أربعة قرون). وتظل بداية السنة وعدد أيامها ثابتة عند أحد الاعتدالين، وهما الأيام ذات الأهمية الفلكية والتي لها نفس مدة النهار مثل الليل. وينتج عنه تباين أقل لجميع الأجرام السماوية عند مقارنة تاريخ تقويمي محدد من سنة إلى أخرى.[2]
كل شهر من الأشهر الاثني عشر يتوافق مع علامة زودياك. الأشهر الستة الأولى بها 31 يومًا، والأشهر الخمسة التالية بها 30 يومًا، والشهر الأخير به 29 يومًا في السنوات العادية و30 يومًا في السنوات الكبيسة. يقع رأس السنة الجديدة دائمًا في اعتدال شهر مارس.
يتوافق 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 ] }
بالنسبة للإصدار 1.10 من Elixir والإصدارات الأحدث، يدعم 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"
هذه المكتبة هي جزء من مكتبات CLDR الخاصة بـ Elixir بما في ذلك:
يمكنك تثبيت الحزمة عن طريق إضافة cldr_calendars_persian
إلى قائمة التبعيات الخاصة بك في mix.exs
:
def deps do
[
{ :ex_cldr_calendars_persian , "~> 1.0" }
]
end
يمكن العثور على الوثائق على https://hexdocs.pm/ex_cldr_persian_calendars.