Класс PersianCalendar

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

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

Примечание.

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

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

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

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

Класс и платформа .NET Framework версии ПерсидскогоCalendar

Начиная с платформа .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 объект для вычисления дат в персидском календаре или преобразования персидского даты в григорианские даты и из нее.

Объект нельзя использовать PersianCalendar в качестве календаря по умолчанию для языка и региональных параметров. Календарь по умолчанию указывается свойством CultureInfo.Calendar и должен быть одним из календарей, возвращаемых свойством CultureInfo.OptionalCalendars . В PersianCalendar настоящее время класс не является необязательным календарем для любого языка и региональных параметров, поддерживаемых CultureInfo классом, и поэтому не может быть календарем по умолчанию.