Поделиться через


Класс PersianCalendar

В этой статье приводятся дополнительные замечания к справочной документации по этому API.

Персидской календарь используется в большинстве стран или регионов, где говорят персий, хотя некоторые регионы используют разные имена месяцев. Персидской календарь является официальным календарем Ирана и Афганистана, и это один из альтернативных календарей в таких регионах, как Казахстан и Таджикистан.

Примечание.

Сведения об использовании PersianCalendar класса и других классов календаря в .NET см. в разделе "Работа с календарями".

Персидский календарь является солнечным календарем Хиджри и начинается с года Хиджры, который соответствует 622 C.E. год, когда Мухаммад (PBUH) мигрировал с Мекки в Медину.

Персидский календарь основан на солнечном году и составляет около 365 дней. Год циклирует через четыре сезона, и новый год начинается, когда солнце, как представляется, пересекает экватор из южного полушария в северное полушарие, как видно из центра Земли. Новый год отмечает первый день месяца Фарвардин, который является первым днем весны в северном полушарии. Например, дата 21 марта 2002 года нашей эры соответствует первому дню месяца Фарвардин в 1381 персидском году.

Каждый из первых шести месяцев в персидском календаре имеет 31 дней, каждый из следующих пяти месяцев имеет 30 дней, и последний месяц имеет 29 дней в общем году и 30 дней в високосный год. Високосный год — это год, который при делении на 33 имеет остаток 1, 5, 9, 13, 17, 22, 26 или 30. Например, 1370 год является особенным, потому что при делении на 33 получается остаток 17. Существует около восьми високосных лет в каждом 33-летнем цикле.

Класс PersianCalendar и версии .NET

Начиная с .NET Framework 4.6, PersianCalendar класс использует алгоритм солнечной астрономической астрономии Хиджри, а не алгоритм наблюдения для вычисления дат. Это делает реализацию PersianCalendar согласованной с персидским календарем в Иране и Афганистане, двух странах, в которых персидский календарь наиболее широко используется. Это изменение влияет на все приложения, работающие в .NET Framework 4 или более поздней версии, если установлен .NET Framework 4.6.

В результате измененного алгоритма:

  • Два алгоритма должны возвращать идентичные результаты при преобразовании дат между 1800 и 2123 в григорианском календаре.
  • Два алгоритма могут возвращать разные результаты при преобразовании дат до 1800 и после 2123 в григорианском календаре.
  • MinSupportedDateTime Значение свойства изменилось с 21 марта 0622 г. в григорианском календаре на 22 марта 0622 г. в григорианском календаре.
  • MaxSupportedDateTime Значение свойства изменилось с 10-го дня 10-го месяца 9378 года в персидском календаре на 13-й день 10-го месяца 9378 года в персидском календаре.
  • Метод IsLeapYear может возвращать другой результат, чем раньше.

Использование класса PersianCalendar

Вы можете использовать объект PersianCalendar для вычисления дат в персидском календаре или конвертации дат между персидским и григорианским календарями. Персидской календарь — это календарь по умолчанию для таких культур, как Персидское (Афганистан) и Центрально-курдский (Иран).