Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase PersianCalendar

 

Publicado: octubre de 2016

Representa el calendario persa.

Espacio de nombres:   System.Globalization
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.Globalization.Calendar
    System.Globalization.PersianCalendar

[SerializableAttribute]
public class PersianCalendar : Calendar

NombreDescripción
System_CAPS_pubmethodPersianCalendar()

Inicializa una nueva instancia de la clase PersianCalendar.

NombreDescripción
System_CAPS_pubpropertyAlgorithmType

Obtiene un valor que indica si el calendario actual está basado en el calendario solar, en el lunar o en el lunisolar.(Invalida Calendar.AlgorithmType).

System_CAPS_protpropertyDaysInYearBeforeMinSupportedYear

Obtiene el número de días del año anterior al año que se especifica mediante el MinSupportedDateTime propiedad.(Heredado de Calendar).

System_CAPS_pubpropertyEras

Obtiene la lista de eras de un objeto PersianCalendar.(Invalida Calendar.Eras).

System_CAPS_pubpropertyIsReadOnly

Obtiene un valor que indica si este Calendar objeto es de solo lectura.(Heredado de Calendar).

System_CAPS_pubpropertyMaxSupportedDateTime

Obtiene la última fecha y hora admitidas por la clase PersianCalendar.(Invalida Calendar.MaxSupportedDateTime).

System_CAPS_pubpropertyMinSupportedDateTime

Obtiene la primera fecha y hora admitidas por la clase PersianCalendar.(Invalida Calendar.MinSupportedDateTime).

System_CAPS_pubpropertyTwoDigitYearMax

Obtiene o establece el último año de un intervalo de 100 años que puede representarse mediante un año de dos dígitos.(Invalida Calendar.TwoDigitYearMax).

NombreDescripción
System_CAPS_pubmethodAddDays(DateTime, Int32)

Devuelve un DateTime que es el número especificado de días transcurridos desde especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodAddHours(DateTime, Int32)

Devuelve un DateTime que es el número especificado de horas transcurridas desde especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodAddMilliseconds(DateTime, Double)

Devuelve un DateTime que es el número especificado de milisegundos transcurridos desde especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodAddMinutes(DateTime, Int32)

Devuelve un DateTime que es el número especificado de minutos transcurridos desde especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodAddMonths(DateTime, Int32)

Devuelve un objeto DateTime que es el resultado de sumar el número especificado de meses al objeto DateTime indicado.(Invalida Calendar.AddMonths(DateTime, Int32)).

System_CAPS_pubmethodAddSeconds(DateTime, Int32)

Devuelve un DateTime que es el número especificado de segundos transcurridos desde especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodAddWeeks(DateTime, Int32)

Devuelve un DateTime que es el número especificado de semanas aparte especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodAddYears(DateTime, Int32)

Devuelve un objeto DateTime que es el resultado de sumar el número especificado de años al objeto DateTime especificado.(Invalida Calendar.AddYears(DateTime, Int32)).

System_CAPS_pubmethodClone()

Crea un objeto nuevo copiado del objeto Calendar actual.(Heredado de Calendar).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetDayOfMonth(DateTime)

Devuelve el día del mes del objeto DateTime especificado.(Invalida Calendar.GetDayOfMonth(DateTime)).

System_CAPS_pubmethodGetDayOfWeek(DateTime)

Devuelve el día de la semana del objeto DateTime especificado.(Invalida Calendar.GetDayOfWeek(DateTime)).

System_CAPS_pubmethodGetDayOfYear(DateTime)

Devuelve el día del año del objeto DateTime especificado.(Invalida Calendar.GetDayOfYear(DateTime)).

System_CAPS_pubmethodGetDaysInMonth(Int32, Int32)

Devuelve el número de días en el mes y año especificados de la era actual.(Heredado de Calendar).

System_CAPS_pubmethodGetDaysInMonth(Int32, Int32, Int32)

Devuelve el número de días del mes especificado del año y era especificados.(Invalida Calendar.GetDaysInMonth(Int32, Int32, Int32)).

System_CAPS_pubmethodGetDaysInYear(Int32)

Devuelve el número de días del año especificado de la era actual.(Heredado de Calendar).

System_CAPS_pubmethodGetDaysInYear(Int32, Int32)

Devuelve el número de días del año especificado de la era especificada.(Invalida Calendar.GetDaysInYear(Int32, Int32)).

System_CAPS_pubmethodGetEra(DateTime)

Devuelve la era del objeto DateTime especificado.(Invalida Calendar.GetEra(DateTime)).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetHour(DateTime)

Devuelve el valor de horas especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodGetLeapMonth(Int32)

Calcula el mes bisiesto de un año especificado.(Heredado de Calendar).

System_CAPS_pubmethodGetLeapMonth(Int32, Int32)

Devuelve el mes bisiesto de un año y era especificados.(Invalida Calendar.GetLeapMonth(Int32, Int32)).

System_CAPS_pubmethodGetMilliseconds(DateTime)

Devuelve el valor de milisegundos especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodGetMinute(DateTime)

Devuelve el valor de minutos especificado DateTime.(Heredado de Calendar).

System_CAPS_pubmethodGetMonth(DateTime)

Devuelve el mes del objeto DateTime especificado.(Invalida Calendar.GetMonth(DateTime)).

System_CAPS_pubmethodGetMonthsInYear(Int32)

Devuelve el número de meses del año especificado de la era actual.(Heredado de Calendar).

System_CAPS_pubmethodGetMonthsInYear(Int32, Int32)

Devuelve el número de meses del año especificado de la era especificada.(Invalida Calendar.GetMonthsInYear(Int32, Int32)).

System_CAPS_pubmethodGetSecond(DateTime)

Devuelve los segundos de valor de la manera especificada DateTime.(Heredado de Calendar).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodGetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Devuelve la semana del año que incluye la fecha de la manera especificada DateTime valor.(Heredado de Calendar).

System_CAPS_pubmethodGetYear(DateTime)

Devuelve el año del objeto DateTime especificado.(Invalida Calendar.GetYear(DateTime)).

System_CAPS_pubmethodIsLeapDay(Int32, Int32, Int32)

Determina si la fecha especificada de la era actual es un día bisiesto.(Heredado de Calendar).

System_CAPS_pubmethodIsLeapDay(Int32, Int32, Int32, Int32)

Determina si la fecha especificada es un día bisiesto.(Invalida Calendar.IsLeapDay(Int32, Int32, Int32, Int32)).

System_CAPS_pubmethodIsLeapMonth(Int32, Int32)

Determina si el mes especificado del año especificado de la era actual es un mes bisiesto.(Heredado de Calendar).

System_CAPS_pubmethodIsLeapMonth(Int32, Int32, Int32)

Determina si el mes especificado del año y la era especificados es un mes bisiesto.(Invalida Calendar.IsLeapMonth(Int32, Int32, Int32)).

System_CAPS_pubmethodIsLeapYear(Int32)

Determina si el año especificado de la era actual es un año bisiesto.(Heredado de Calendar).

System_CAPS_pubmethodIsLeapYear(Int32, Int32)

Determina si el año especificado de la era especificada es un año bisiesto.(Invalida Calendar.IsLeapYear(Int32, Int32)).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Devuelve un DateTime que se establece en la fecha y hora especificadas de la era actual.(Heredado de Calendar).

System_CAPS_pubmethodToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Devuelve un objeto DateTime que se establece en la fecha, hora y era especificadas.(Invalida Calendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)).

System_CAPS_pubmethodToFourDigitYear(Int32)

Convierte el año especificado en una representación del año con cuatro dígitos.(Invalida Calendar.ToFourDigitYear(Int32)).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticPersianEra

Representa la era actual. Este campo es constante.

El calendario persa se utiliza en la mayoría de los países donde se habla persa, aunque algunas regiones utilizan nombres diferentes para los meses. El calendario persa es el calendario oficial de irán y Afganistán, y es uno de los calendarios alternativos en regiones como Kazajistán y Tayikistán.

System_CAPS_noteNota

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

Las fechas del calendario persa empiezan en el año de la Hijira, que corresponde a 622 C.E. y es el año cuando se migran Muhammad (PBUH) desde la Meca a Medina. Por ejemplo, la era cristiana 21 de marzo de 2002 de fecha corresponde al primer día del mes de Farvardeen del año 1381 del calendario persa.

El calendario persa se basa en un año solar y dura aproximadamente 365 días. Los ciclos de un año tiene 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 año nuevo señala el primer día del mes de Farvardeen, que es el primer día del muelle en el hemisferio norte.

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 normal y 30 días en un año bisiesto. Un año bisiesto es un año que, cuando se divide entre 33, tiene un resto de 1, 5, 9, 13, 17, 22, 26 o 30. Por ejemplo, el año 1370 es un año bisiesto porque dividiéndolo por 33 da un resto de 17. Hay aproximadamente ocho años bisiestos en cada ciclo de 33 años.

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

Como resultado del algoritmo modificado:

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

  • Los dos algoritmos pueden devolver resultados diferentes al convertir fechas antes de 1800 y después 2123 en el calendario gregoriano.

  • La MinSupportedDateTime valor de propiedad ha cambiado de 21 de marzo de 0622 en el calendario gregoriano a 22 de marzo de 0622 en el calendario gregoriano.

  • La MaxSupportedDateTime valor de propiedad ha cambiado desde el día 10 del mes 10 del año 9378 en el calendario persa al 13 día 10 del mes del año 9378 en el calendario persa.

  • El IsLeapYear método puede devolver un resultado diferente que lo hacía anteriormente.

Las aplicaciones utilizan un PersianCalendar objeto para calcular las fechas del calendario persa o convertir fechas persas a y desde fechas gregorianas.

No se puede utilizar un PersianCalendar los objetos según el calendario predeterminado para una referencia cultural. El calendario predeterminado especificado por el CultureInfo.Calendar propiedad y debe ser uno de los calendarios devueltos por la CultureInfo.OptionalCalendars propiedad. Actualmente, el PersianCalendar clase no es un calendario opcional para cualquier referencia cultural compatible con la CultureInfo clase y, por consiguiente, no puede ser un calendario predeterminado.

En el ejemplo siguiente se crea una instancia DateTime objetos mediante el uso de la DateTime.Now propiedad, un DateTime constructor y el calendario persa ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) método. A continuación, muestra estas fechas en calendarios persa y gregoriano. También muestra el intervalo de fechas del calendario persa.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
        PersianCalendar pc = new PersianCalendar();
        DateTime thisDate = DateTime.Now;

        // Display the current date using the Gregorian and Persian calendars. 
        Console.WriteLine("Today in the Gregorian Calendar:  {0:dddd}, {0}", thisDate);
        Console.WriteLine("Today in the Persian Calendar:    {0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                      pc.GetDayOfWeek(thisDate), 
                      pc.GetMonth(thisDate), 
                      pc.GetDayOfMonth(thisDate),  
                      pc.GetYear(thisDate), 
                      pc.GetHour(thisDate), 
                      pc.GetMinute(thisDate), 
                      pc.GetSecond(thisDate));

        // Create a date using the Gregorian calendar.
        thisDate = new DateTime(2013, 5, 28, 10, 35, 0);
        Console.WriteLine("Gregorian Calendar:  {0:D} ", thisDate);
        Console.WriteLine("Persian Calendar:    {0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                          pc.GetDayOfWeek(thisDate), 
                          pc.GetMonth(thisDate), 
                          pc.GetDayOfMonth(thisDate),  
                          pc.GetYear(thisDate), 
                          pc.GetHour(thisDate), 
                          pc.GetMinute(thisDate), 
                          pc.GetSecond(thisDate));

        // Create a date using the Persian calendar.
        thisDate = pc.ToDateTime(1395, 4, 22, 12, 30, 0, 0);
        Console.WriteLine("Gregorian Calendar:  {0:D} ", thisDate);
        Console.WriteLine("Persian Calendar:    {0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                      pc.GetDayOfWeek(thisDate), 
                      pc.GetMonth(thisDate), 
                      pc.GetDayOfMonth(thisDate),  
                      pc.GetYear(thisDate), 
                      pc.GetHour(thisDate), 
                      pc.GetMinute(thisDate), 
                      pc.GetSecond(thisDate));

        // Show the Persian Calendar date range.
        Console.WriteLine("Minimum Persian Calendar date (Gregorian Calendar):  {0:D} ", 
                          pc.MinSupportedDateTime);
        Console.WriteLine("Minimum Persian Calendar date (Persian Calendar):  " +    
                          "{0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                          pc.GetDayOfWeek(pc.MinSupportedDateTime), 
                          pc.GetMonth(pc.MinSupportedDateTime), 
                          pc.GetDayOfMonth(pc.MinSupportedDateTime),  
                          pc.GetYear(pc.MinSupportedDateTime), 
                          pc.GetHour(pc.MinSupportedDateTime), 
                          pc.GetMinute(pc.MinSupportedDateTime), 
                          pc.GetSecond(pc.MinSupportedDateTime));

        Console.WriteLine("Maximum Persian Calendar date (Gregorian Calendar):  {0:D} ", 
                          pc.MaxSupportedDateTime);
        Console.WriteLine("Maximum Persian Calendar date (Persian Calendar):  " +   
                          "{0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                          pc.GetDayOfWeek(pc.MaxSupportedDateTime), 
                          pc.GetMonth(pc.MaxSupportedDateTime), 
                          pc.GetDayOfMonth(pc.MaxSupportedDateTime),  
                          pc.GetYear(pc.MaxSupportedDateTime), 
                          pc.GetHour(pc.MinSupportedDateTime), 
                          pc.GetMinute(pc.MaxSupportedDateTime), 
                          pc.GetSecond(pc.MaxSupportedDateTime));
   }
}
// The example displays the following output when run under the .NET Framework 4.6:
//    Today in the Gregorian Calendar:  Monday, 2/4/2013 9:11:36 AM
//    Today in the Persian Calendar:    Monday, 11/16/1391 9:11:36
//
//    Gregorian Calendar:  Tuesday, May 28, 2013
//    Persian Calendar:    Tuesday, 3/7/1392 10:35:0
//
//    Gregorian Calendar:  Tuesday, July 12, 2016
//    Persian Calendar:    Tuesday, 4/22/1395 12:30:0
//
//    Minimum Persian Calendar date (Gregorian Calendar):  Friday, March 22, 0622
//    Minimum Persian Calendar date (Persian Calendar):  Friday, 1/1/1 0:0:0
//
//    Maximum Persian Calendar date (Gregorian Calendar):  Friday, December 31, 9999
//    Maximum Persian Calendar date (Persian Calendar):  Friday, 10/13/9378 0:59:59
//
// The example displays the following output when run under versions of
// the .NET Framework before the .NET Framework 4.6:
//    Today in the Gregorian Calendar:  Monday, 2/4/2013 9:11:36 AM
//    Today in the Persian Calendar:    Monday, 11/16/1391 9:11:36
//    
//    Gregorian Calendar:  Tuesday, May 28, 2013
//    Persian Calendar:    Tuesday, 3/7/1392 10:35:0
//    
//    Gregorian Calendar:  Tuesday, July 12, 2016
//    Persian Calendar:    Tuesday, 4/22/1395 12:30:0
//    
//    Minimum Persian Calendar date (Gregorian Calendar):  Thursday, March 21, 0622
//    Minimum Persian Calendar date (Persian Calendar):  Thursday, 1/1/1 0:0:0
//    
//    Maximum Persian Calendar date (Gregorian Calendar):  Friday, December 31, 9999
//    Maximum Persian Calendar date (Persian Calendar):  Friday, 10/10/9378 0:59:59

El ejemplo siguiente muestra los miembros de campo, propiedad y método de la PersianCalendar clase.

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
      PersianCalendar jc = new PersianCalendar();
      DateTime thisDate = DateTime.Now;

		//--------------------------------------------------------------------------------
		// Properties
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n........... Selected Properties .....................\n");
      Console.Write("Eras:");
      foreach (int era in jc.Eras)
      {
         Console.WriteLine(" era = {0}", era);
      }
		//--------------------------------------------------------------------------------
      Console.WriteLine("\nTwoDigitYearMax = {0}", jc.TwoDigitYearMax);
		//--------------------------------------------------------------------------------
		// Methods
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n............ Selected Methods .......................\n");

		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDaysInMonth: days = {0}", 
                        jc.GetDaysInMonth( thisDate.Year, thisDate.Month, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDaysInYear: days = {0}", 
                        jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetLeapMonth: leap month (if any) = {0}", 
                        jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
		//-------------------------------------------------------------
      Console.WriteLine("GetMonthsInYear: months in a year = {0}", 
                        jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapDay: This is a leap day = {0}", 
                        jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapMonth: This is a leap month = {0}", 
                        jc.IsLeapMonth(thisDate.Year, thisDate.Month, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}", 
                        jc.IsLeapYear(1370, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------

		// Get the 4-digit year for a year whose last two digits are 99. The 4-digit year 
		// depends on the current value of the TwoDigitYearMax property.

      Console.WriteLine("ToFourDigitYear:");
      Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", 
                         jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
      jc.TwoDigitYearMax = thisDate.Year;
      Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", 
                        jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    }
}
// The example displays the following output:
//       ........... Selected Properties .....................
//       
//       Eras: era = 1
//       
//       TwoDigitYearMax = 99
//       
//       ............ Selected Methods .......................
//       
//       GetDayOfYear: day = 1
//       GetDaysInMonth: days = 31
//       GetDaysInYear: days = 365
//       GetLeapMonth: leap month (if any) = 0
//       GetMonthsInYear: months in a year = 12
//       IsLeapDay: This is a leap day = False
//       IsLeapMonth: This is a leap month = False
//       IsLeapYear: 1370 is a leap year = True
//       ToFourDigitYear:
//         If TwoDigitYearMax = 99, ToFourDigitYear(99) = 99
//         If TwoDigitYearMax = 2012, ToFourDigitYear(99) = 1999

Plataforma universal de Windows
Disponible desde 10
.NET Framework
Disponible desde 2.0
Silverlight
Disponible desde 5.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: