Klasa PersianCalendar

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Kalendarz perski jest używany w większości krajów/regionów, w których mówi się perski, chociaż niektóre regiony używają różnych nazw miesięcy. Kalendarz perski jest oficjalnym kalendarzem Iranu i Afganistanu i jest jednym z alternatywnych kalendarzy w regionach takich jak Kazachstan i Tadżykistan.

Uwaga

Aby uzyskać informacje o korzystaniu z PersianCalendar klasy i innych klas kalendarza na platformie .NET, zobacz Praca z kalendarzami.

Kalendarz perski jest kalendarzem słonecznym Hidżri i zaczyna się od roku Hidżry, który odpowiada 622 C.E.E. roku, kiedy Muhammad (PBUH) zmigrował z Mekki do Mediny.

Kalendarz perski opiera się na roku słonecznym i trwa około 365 dni. Rok przechodzi przez cztery sezony, a nowy rok zaczyna się, gdy słońce wydaje się przekraczać równik z półkuli południowej do półkuli północnej, jak postrzegane z centrum Ziemi. Nowy rok oznacza pierwszy dzień miesiąca Farvardeen, który jest pierwszym dniem wiosny na półkuli północnej. Na przykład data 21 marca 2002 R. odpowiada pierwszemu dniu miesiąca Farvardeen w roku 1381 Anno Persico.

Każdy z pierwszych sześciu miesięcy w kalendarzu perskim ma 31 dni, każdy z najbliższych pięciu miesięcy ma 30 dni, a ostatni miesiąc ma 29 dni we wspólnym roku i 30 dni w roku przestępnym. Rok przestępny to rok, który po podzieleniu przez 33 ma resztę 1, 5, 9, 13, 17, 22, 26 lub 30. Na przykład rok 1370 jest rokiem przestępnym, ponieważ podzielenie go przez 33 daje resztę 17. W każdym 33-letnim cyklu istnieje około ośmiu lat przestępnych.

Wersje klasy PerCalendar i .NET Framework

Począwszy od programu .NET Framework 4.6, PersianCalendar klasa używa algorytmu astronomicznego Hidżri, a nie algorytmu obserwacyjnego do obliczania dat. To sprawia, że PersianCalendar realizacja jest zgodna z kalendarzem perskim używanym w Iranie i Afganistanie, dwa kraje, w których kalendarz perski jest w najbardziej powszechnym użyciu. Zmiana ma wpływ na wszystkie aplikacje uruchomione w programie .NET Framework 4 lub nowszym, jeśli jest zainstalowany program .NET Framework 4.6.

W wyniku zmienionego algorytmu:

  • Dwa algorytmy powinny zwracać identyczne wyniki podczas konwertowania dat z zakresu od 1800 do 2123 w kalendarzu gregoriańskim.

  • Te dwa algorytmy mogą zwracać różneresulty podczas konwertowania dat przed 1800 i po 2123 w kalendarzu gregoriańskim.

  • Wartość MinSupportedDateTime właściwości została zmieniona z 21 marca 0622 w kalendarzu gregoriańskim na 22 marca 0622 w kalendarzu gregoriańskim.

  • Wartość MaxSupportedDateTime właściwości zmieniła się z 10 dnia 10 miesiąca roku 9378 w kalendarzu perskim na 13 dzień 10 miesiąca roku 9378 w kalendarzu perskim.

  • Metoda IsLeapYear może zwrócić inny wynik niż poprzednio.

Korzystanie z klasy PerCalendar

Aplikacje używają PersianCalendar obiektu do obliczania dat w kalendarzu perskim lub konwertowania dat perskich na i z dat gregoriańskich.

Nie można użyć PersianCalendar obiektu jako kalendarza domyślnego dla kultury. Domyślny kalendarz jest określany przez CultureInfo.Calendar właściwość i musi być jednym z kalendarzy zwracanych przez CultureInfo.OptionalCalendars właściwość . PersianCalendar Obecnie klasa nie jest opcjonalnym kalendarzem dla żadnej kultury obsługiwanej CultureInfo przez klasę i w związku z tym nie może być kalendarzem domyślnym.