Freigeben über


PersianCalendar-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Der persische Kalender wird in den meisten Ländern/Regionen verwendet, in denen Persisch gesprochen wird, auch wenn einige Regionen unterschiedliche Monatsnamen verwenden. Der persische Kalender ist der offizielle Kalender Irans und Afghanistans, und er ist einer der alternativen Kalender in Regionen wie Kasachstan und Tadschikistan.

Hinweis

Informationen zur Verwendung der Klasse „PersianCalendar“ und der anderen Kalenderklassen in .NET finden Sie unter Arbeiten mit Kalendern.

Der persische Kalender ist ein Hidschri-Sonnenkalender. Er beginnt mit dem Jahr der Hidschra, in dem Muhammad (PBUH) von Mekka nach Medina auswanderte. Dies entspricht dem Jahr 622 n. Chr.

Der persische Kalender basiert auf einem Sonnenjahr und ist ungefähr 365 Tage lang. Ein Jahr hat vier Jahreszeiten, und ein neues Jahr beginnt, wenn die Sonne vom Mittelpunkt der Erde aus betrachtet den Äquator von der südlichen zur nördlichen Hemisphäre zu überqueren scheint. Das neue Jahr wird durch den ersten Tag des Monats Farvadin eingeläutet, der der erste Tag des Frühlings in der nördlichen Hemisphäre ist. Das Datum 21. März 2002 n. Chr. entspricht beispielsweise dem ersten Tag des Monats Farvadin im Jahr 1381 Anno Persico.

Jeder der ersten sechs Monate im persischen Kalender hat 31 Tage, jeder der nächsten fünf 30, und der letzte Monat hat in einem normalen Jahr 29 und in einem Schaltjahr 30 Tage. Ein Schaltjahr ist ein Jahr, das, wenn es durch 33 geteilt wird, einen Rest von 1, 5, 9, 13, 17, 22, 26 oder 30 hat. Das Jahr 1370 ist beispielsweise ein Schaltjahr, da es beim Dividieren durch 33 einen Rest von 17 hat. Es gibt in jedem 33-Jahre-Zyklus ungefähr acht Schaltjahre.

Die PersianCalendar-Klasse und .NET Framework-Versionen

Ab .NET Framework 4.6 verwendet die PersianCalendar-Klasse den solarastronomischen Hidschri-Algorithmus anstelle eines Beobachtungsalgorithmus, um Datumsangaben zu berechnen. Dadurch wird die PersianCalendar-Implementierung mit dem persischen Kalender in Iran und Afghanistan konsistent, den beiden Ländern, in denen der persische Kalender am weitesten verbreitet ist. Die Änderung wirkt sich auf alle Apps aus, die auf .NET Framework 4 oder höher ausgeführt werden, wenn .NET Framework 4.6 installiert ist.

Durch den geänderten Algorithmus ergibt sich Folgendes:

  • Die beiden Algorithmen sollten beim Konvertieren von Datumsangaben zwischen 1800 und 2123 im gregorianischen Kalender identische Ergebnisse zurückgeben.

  • Die beiden Algorithmen können beim Konvertieren von Datumsangaben vor 1800 und nach 2123 im gregorianischen Kalender unterschiedliche Ergebnisse zurückgeben.

  • Der Eigenschaftswert MinSupportedDateTime wurde im gregorianischen Kalender von 21. März 0622 in 22. März 0622 geändert.

  • Der Eigenschaftswert MaxSupportedDateTime wurde im persischen Kalender vom 10. Tag des 10. Monats des Jahres 9378 in den 13. Tag des 10. Monats des Jahres 9378 geändert.

  • Die IsLeapYear-Methode kann ein anderes Ergebnis zurückgeben als früher.

Verwenden der PersianCalendar-Klasse

Anwendungen verwenden ein PersianCalendar-Objekt, um Datumsangaben im persischen Kalender zu berechnen oder persische Datumsangaben in und aus gregorianischen Datumsangaben zu konvertieren.

Sie können ein PersianCalendar-Objekt nicht als Standardkalender für eine Kultur verwenden. Der Standardkalender wird von der CultureInfo.Calendar-Eigenschaft angegeben und muss einer der von der CultureInfo.OptionalCalendars-Eigenschaft zurückgegebenen Kalender sein. Derzeit ist die PersianCalendar-Klasse kein optionaler Kalender für eine Kultur, die von der CultureInfo-Klasse unterstützt wird, und kann daher kein Standardkalender sein.