Clase PersianCalendar

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

El calendario persa se usa en la mayoría de los países o regiones donde se habla persa, aunque algunas regiones usan nombres de mes diferentes. El calendario persa es el calendario oficial de Irán y Afganistán, y es uno de los calendarios alternativos en regiones como Kazajstán y Uzbekistán.

Nota:

Para obtener información sobre el uso de la clase PersianCalendar y las demás clases de calendario en .NET, consulte Trabajar con calendarios.

El calendario persa es un calendario solar hijri, y comienza a partir del año de la Hijra, que corresponde al 622 E.C., el año en que Mahoma (PBSCE) emigró de La Meca a Medina.

El calendario persa se basa en un año solar y tiene aproximadamente 365 días de duración. Un año pasa por cuatro estaciones y un nuevo año comienza cuando el sol parece cruzar el ecuador desde el hemisferio sur al hemisferio norte visto desde el centro de la tierra. El nuevo año marca el primer día del mes de Farvardeen, que es el primer día de la primavera en el hemisferio norte. Por ejemplo, la fecha 21 de marzo de 2002 E.C. corresponde al primer día del mes de Farvardeen del año 1381 Anno Persico.

Cada uno de los seis primeros meses del calendario persa tiene 31 días, cada uno de los cinco meses siguientes tiene 30 días y el último mes tiene 29 días en un año común y 30 días en un año bisiesto. Un año bisiesto es un año que, dividido por 33, tiene un resto de 1, 5, 9, 13, 17, 22, 26 ó 30. Por ejemplo, el año 1370 es bisiesto porque al dividirlo por 33 se obtiene un resto de 17. Hay aproximadamente ocho años bisiestos en cada ciclo de 33 años.

La clase PersianCalendar y las versiones de .NET Framework

A partir de .NET Framework 4.6, la PersianCalendar clase usa el algoritmo astronómica solar Hijri en lugar de un algoritmo de observación para calcular fechas. Esto hace que la PersianCalendar implementación sea coherente con el calendario persa que se usa en Irán y Afganistán, los dos países en los que el calendario persa está más extendido. El cambio afecta a todas las aplicaciones que se ejecutan en .NET Framework 4 o posterior si está instalado .NET Framework 4.6.

Como resultado del cambio de algoritmo:

  • Los dos algoritmos deberían devolver resultados idénticos al convertir fechas entre 1800 y 2123 en el calendario gregoriano.

  • Los dos algoritmos pueden devolver diferentesresults al convertir fechas anteriores a 1800 y después de 2123 en el calendario gregoriano.

  • El MinSupportedDateTime valor de la propiedad ha cambiado del 21 de marzo de 0622 en el calendario gregoriano al 22 de marzo de 0622 en el calendario gregoriano.

  • El MaxSupportedDateTime valor de la propiedad ha cambiado del día 10 del décimo mes del año 9378 del calendario persa al día 13 del décimo mes del año 9378 del calendario persa.

  • Es posible que el método IsLeapYear devuelva un resultado diferente al que obtuvo anteriormente.

Usar la clase PersianCalendar

Las aplicaciones usan un objeto PersianCalendar para calcular fechas en el calendario persa o convertir fechas persas a y desde fechas gregorianas.

No se puede usar un objeto PersianCalendar como calendario predeterminado para una referencia cultural. La propiedad especifica el CultureInfo.Calendar calendario predeterminado y debe ser uno de los calendarios devueltos por la CultureInfo.OptionalCalendars propiedad. Actualmente, la clase PersianCalendar no es un calendario opcional para ninguna referencia cultural compatible con la clase CultureInfo y, por tanto, no puede ser un calendario predeterminado.