Condividi tramite


Classe PersianCalendar

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

Il calendario persiano viene usato nella maggior parte dei paesi/aree geografiche in cui viene pronunciato il persiano, anche se alcune aree usano nomi di mese diversi. Il calendario persiano è il calendario ufficiale dell'Iran e dell'Afghanistan, ed è uno dei calendari alternativi nelle regioni come il Kazakistan e il Tagikistan.

Nota

Per informazioni sull'uso della PersianCalendar classe e delle altre classi di calendario in .NET, vedere Uso dei calendari.

Il calendario persiano è un calendario hijri solare, e inizia dall'anno dell'Hijra, che corrisponde al 622 C.E. l'anno in cui Muhammad (PBUH) è migrato dalla Mecca a Mecca.

Il calendario persiano si basa su un anno solare ed è lungo circa 365 giorni. Un anno scorre attraverso quattro stagioni, e un nuovo anno inizia quando il sole sembra attraversare l'equatore dall'emisfero meridionale all'emisfero settentrionale come visto dal centro della Terra. Il nuovo anno segna il primo giorno del mese di Farvardeen, che è il primo giorno della primavera nell'emisfero settentrionale. Ad esempio, la data 21 marzo 2002 C.E. corrisponde al primo giorno del mese di Farvardeen nell'anno 1381 Anno Persico.

Ognuno dei primi sei mesi nel calendario persiano ha 31 giorni, ognuno dei cinque mesi successivi ha 30 giorni e l'ultimo mese ha 29 giorni in un anno comune e 30 giorni in un anno bisestile. Un anno bisestile è un anno che, se diviso per 33, ha un resto di 1, 5, 9, 13, 17, 22, 26 o 30. Ad esempio, l'anno 1370 è un anno bisestile perché dividendolo per 33 restituisce un resto di 17. Ci sono circa otto anni bisestili in ogni ciclo di 33 anni.

La classe PersianCalendar e le versioni di .NET Framework

A partire da .NET Framework 4.6, la PersianCalendar classe usa l'algoritmo astronomico solare Hijri anziché un algoritmo osservazionale per calcolare le date. In questo modo l'implementazione PersianCalendar risulta coerente con il calendario persiano in uso in Iran e Afghanistan, i due paesi in cui il calendario persiano è in uso più diffuso. La modifica influisce su tutte le app in esecuzione in .NET Framework 4 o versione successiva se è installato .NET Framework 4.6.

Come risultato dell'algoritmo modificato:

  • I due algoritmi devono restituire risultati identici durante la conversione delle date tra 1800 e 2123 nel calendario gregoriano.

  • I due algoritmi potrebbero restituire valori diversi durante la conversione delle date prima del 1800 e dopo il 2123 nel calendario gregoriano.

  • Il valore della MinSupportedDateTime proprietà è cambiato dal 21 marzo 0622 nel calendario gregoriano al 22 marzo 0622 nel calendario gregoriano.

  • Il MaxSupportedDateTime valore della proprietà è stato modificato dal 10° giorno del 10° mese dell'anno 9378 nel calendario persiano al 13° giorno del 10° mese dell'anno 9378 nel calendario persiano.

  • Il IsLeapYear metodo può restituire un risultato diverso rispetto a quello precedentemente eseguito.

Usare la classe PersianCalendar

Le applicazioni usano un PersianCalendar oggetto per calcolare le date nel calendario persiano o convertire le date persiane in e dalle date gregoriane.

Non è possibile utilizzare un PersianCalendar oggetto come calendario predefinito per le impostazioni cultura. Il calendario predefinito è specificato dalla CultureInfo.Calendar proprietà e deve essere uno dei calendari restituiti dalla CultureInfo.OptionalCalendars proprietà . Attualmente, la PersianCalendar classe non è un calendario facoltativo per le impostazioni cultura supportate dalla CultureInfo classe e di conseguenza non può essere un calendario predefinito.