Comparteix a través de


GregorianCalendar Clase

Definición

Representa el calendario gregoriano.

public ref class GregorianCalendar : System::Globalization::Calendar
public class GregorianCalendar : System.Globalization.Calendar
[System.Serializable]
public class GregorianCalendar : System.Globalization.Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GregorianCalendar : System.Globalization.Calendar
type GregorianCalendar = class
    inherit Calendar
[<System.Serializable>]
type GregorianCalendar = class
    inherit Calendar
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GregorianCalendar = class
    inherit Calendar
Public Class GregorianCalendar
Inherits Calendar
Herencia
GregorianCalendar
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra que DateTimeFormatInfo omite la puntuación en el nombre de la era, solo si el calendario es gregoriano y la referencia cultural usa el nombre de era "A.D.".

using namespace System;
using namespace System::Globalization;
using namespace System::Collections;
int main()
{
   
   // Creates strings with punctuation and without.
   String^ strADPunc = "A.D.";
   String^ strADNoPunc = "AD";
   String^ strCEPunc = "C.E.";
   String^ strCENoPunc = "CE";
   
   // Calls DTFI::GetEra for each culture that uses GregorianCalendar as the default calendar.
   Console::WriteLine( "            ----- AD -----  ----- CE -----" );
   Console::WriteLine( "CULTURE     PUNC   NO PUNC  PUNC   NO PUNC  CALENDAR" );
   IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator();
   while ( en->MoveNext() )
   {
      CultureInfo^ myCI = safe_cast<CultureInfo^>(en->Current);
      Console::Write( "{0, -12}", myCI );
      Console::Write( "{0,-7}{1,-9}", myCI->DateTimeFormat->GetEra( strADPunc ), myCI->DateTimeFormat->GetEra( strADNoPunc ) );
      Console::Write( "{0, -7}{1, -9}", myCI->DateTimeFormat->GetEra( strCEPunc ), myCI->DateTimeFormat->GetEra( strCENoPunc ) );
      Console::Write( "{0}", myCI->Calendar );
      Console::WriteLine();
   }
}

/*
This code produces the following output.  This output has been cropped for brevity.

            ----- AD -----  ----- CE -----
CULTURE     PUNC   NO PUNC  PUNC   NO PUNC  CALENDAR
ar-SA       -1     -1       -1     -1       System.Globalization.HijriCalendar
ar-IQ       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-EG       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-LY       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-DZ       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-MA       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-TN       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-OM       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-YE       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-SY       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-JO       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-LB       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-KW       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-AE       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-BH       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-QA       1      1        -1     -1       System.Globalization.GregorianCalendar
bg-BG       1      1        -1     -1       System.Globalization.GregorianCalendar
ca-ES       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-TW       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-CN       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-HK       1      1        -1     -1       System.Globalization.GregorianCalendar
zh-SG       1      1        -1     -1       System.Globalization.GregorianCalendar
zh-MO       1      1        -1     -1       System.Globalization.GregorianCalendar
cs-CZ       -1     -1       -1     -1       System.Globalization.GregorianCalendar
da-DK       1      1        -1     -1       System.Globalization.GregorianCalendar

*/
using System;
using System.Globalization;

public class SamplesGregorianCalendar  {

   public static void Main()  {

      // Creates strings with punctuation and without.
      String strADPunc = "A.D.";
      String strADNoPunc = "AD";
      String strCEPunc = "C.E.";
      String strCENoPunc = "CE";

      // Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
      Console.WriteLine( "            ----- AD -----  ----- CE -----" );
      Console.WriteLine( "CULTURE     PUNC   NO PUNC  PUNC   NO PUNC  CALENDAR" );
      foreach ( CultureInfo myCI in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) )  {
         Console.Write( "{0,-12}", myCI );
         Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strADPunc ), myCI.DateTimeFormat.GetEra( strADNoPunc ) );
         Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strCEPunc ), myCI.DateTimeFormat.GetEra( strCENoPunc ) );
         Console.Write( "{0}", myCI.Calendar );
         Console.WriteLine();
      }
   }
}

/*
This code produces the following output.  This output has been cropped for brevity.

            ----- AD -----  ----- CE -----
CULTURE     PUNC   NO PUNC  PUNC   NO PUNC  CALENDAR
ar-SA       -1     -1       -1     -1       System.Globalization.HijriCalendar
ar-IQ       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-EG       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-LY       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-DZ       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-MA       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-TN       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-OM       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-YE       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-SY       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-JO       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-LB       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-KW       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-AE       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-BH       1      1        -1     -1       System.Globalization.GregorianCalendar
ar-QA       1      1        -1     -1       System.Globalization.GregorianCalendar
bg-BG       1      1        -1     -1       System.Globalization.GregorianCalendar
ca-ES       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-TW       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-CN       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-HK       -1     -1       -1     -1       System.Globalization.GregorianCalendar
zh-SG       1      1        -1     -1       System.Globalization.GregorianCalendar
zh-MO       1      1        -1     -1       System.Globalization.GregorianCalendar
cs-CZ       -1     -1       -1     -1       System.Globalization.GregorianCalendar
da-DK       1      1        -1     -1       System.Globalization.GregorianCalendar

*/
Imports System.Globalization

Public Class SamplesGregorianCalendar

   Public Shared Sub Main()

      ' Creates strings with punctuation and without.
      Dim strADPunc As [String] = "A.D."
      Dim strADNoPunc As [String] = "AD"
      Dim strCEPunc As [String] = "C.E."
      Dim strCENoPunc As [String] = "CE"

      ' Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
      Console.WriteLine("            ----- AD -----  ----- CE -----")
      Console.WriteLine("CULTURE     PUNC   NO PUNC  PUNC   NO PUNC  CALENDAR")
      Dim myCI As CultureInfo
      For Each myCI In  CultureInfo.GetCultures(CultureTypes.SpecificCultures)
         Console.Write("{0,-12}", myCI)
         Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strADPunc), myCI.DateTimeFormat.GetEra(strADNoPunc))
         Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strCEPunc), myCI.DateTimeFormat.GetEra(strCENoPunc))
         Console.Write("{0}", myCI.Calendar)
         Console.WriteLine()
      Next myCI

   End Sub

End Class


'This code produces the following output.  This output has been cropped for brevity.
'
'            ----- AD -----  ----- CE -----
'CULTURE     PUNC   NO PUNC  PUNC   NO PUNC  CALENDAR
'ar-SA       -1     -1       -1     -1       System.Globalization.HijriCalendar
'ar-IQ       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-EG       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-LY       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-DZ       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-MA       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-TN       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-OM       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-YE       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-SY       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-JO       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-LB       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-KW       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-AE       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-BH       1      1        -1     -1       System.Globalization.GregorianCalendar
'ar-QA       1      1        -1     -1       System.Globalization.GregorianCalendar
'bg-BG       1      1        -1     -1       System.Globalization.GregorianCalendar
'ca-ES       -1     -1       -1     -1       System.Globalization.GregorianCalendar
'zh-TW       -1     -1       -1     -1       System.Globalization.GregorianCalendar
'zh-CN       -1     -1       -1     -1       System.Globalization.GregorianCalendar
'zh-HK       -1     -1       -1     -1       System.Globalization.GregorianCalendar
'zh-SG       1      1        -1     -1       System.Globalization.GregorianCalendar
'zh-MO       1      1        -1     -1       System.Globalization.GregorianCalendar
'cs-CZ       -1     -1       -1     -1       System.Globalization.GregorianCalendar
'da-DK       1      1        -1     -1       System.Globalization.GregorianCalendar

Comentarios

El calendario gregoriano reconoce dos eras: B.C. o B.C.E., y A.D. o C.E. Esta implementación de la GregorianCalendar clase reconoce solo la era actual (A.D. o C.E.).

Nota

Para obtener información sobre el uso de la GregorianCalendar clase y las demás clases de calendario en .NET Framework, consulte Working with Calendars(Trabajar con calendarios).

Un año bisiesto en el calendario gregoriano se define como un año que se puede dividir uniformemente en 4, a menos que sea divisible en 100. Sin embargo, los años divisibles por 400 son años bisiestos. Por ejemplo, el año 1900 no era un año bisiesto, pero el año 2000 era. Un año común tiene 365 días y un año bisiesto tiene 366 días.

El calendario gregoriano tiene de 12 meses con 28 a 31 días cada uno: enero (31 días), febrero (28 o 29 días), marzo (31 días), abril (30 días), mayo (30 días) 31 días), junio (30 días), julio (31 días), agosto (31 días), septiembre (30 días), octubre (31 días), noviembre (30 días) y diciembre (31 días). Febrero tiene 29 días durante años bisiestos y 28 durante años comunes.

Importante

De forma predeterminada, todos los DateTime valores y DateTimeOffset expresan fechas y horas en el calendario gregoriano.

El calendario gregoriano se desarrolló como sustituto del calendario juliano (representado por la JulianCalendar clase) y fue introducido por primera vez en un pequeño número de culturas el 15 de octubre de 1582. Al trabajar con fechas históricas que preceden a la adopción del calendario gregoriano de una referencia cultural, debe usar el calendario original si está disponible en .NET Framework. Por ejemplo, Dinamarca cambió del calendario juliano al calendario gregoriano el 19 de febrero (en el calendario juliano) o el 1 de marzo (en el calendario gregoriano) de 1700. En este caso, para las fechas anteriores a la adopción del calendario gregoriano, debe usar el calendario juliano. Sin embargo, tenga en cuenta que ninguna referencia cultural ofrece compatibilidad intrínseca con la JulianCalendar clase . Debe usar la JulianCalendar clase como calendario independiente. Para más información, vea Trabajar con calendarios.

En el ejemplo siguiente se muestra que el 18 de febrero de 1700 en el calendario juliano, que es el último día en que se usó oficialmente el calendario juliano en Dinamarca, es un día anterior al 1 de marzo de 1700 en el calendario gregoriano.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");

      JulianCalendar jc = new JulianCalendar();
      DateTime lastDate = new DateTime(1700, 2, 18, jc);
      Console.WriteLine("Last date (Gregorian): {0:d}", lastDate);
      Console.WriteLine("Last date (Julian): {0}-{1}-{2}\n", jc.GetDayOfMonth(lastDate),
                        jc.GetMonth(lastDate), jc.GetYear(lastDate));

      DateTime firstDate = lastDate.AddDays(1);
      Console.WriteLine("First date (Gregorian): {0:d}", firstDate);
      Console.WriteLine("First date (Julian): {0}-{1}-{2}",  jc.GetDayOfMonth(firstDate),
                        jc.GetMonth(firstDate), jc.GetYear(firstDate));
   }
}
// The example displays the following output:
//       Last date (Gregorian): 28-02-1700
//       Last date (Julian): 18-2-1700
//
//       First date (Gregorian): 01-03-1700
//       First date (Julian): 19-2-1700
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Thread.CurrentThread.CurrentCulture = New CultureInfo("da-DK")
      
      Dim jc As New JulianCalendar()
      Dim lastDate As New DateTime(1700, 2, 18, jc)
      Console.WriteLine("Last date (Gregorian): {0:d}", lastDate)
      Console.WriteLine("Last date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(lastDate),
                        jc.GetMonth(lastDate), jc.GetYear(lastDate))
      Console.WriteLine()
      
      Dim firstDate As DateTime = lastDate.AddDays(1)
      Console.WriteLine("First date (Gregorian): {0:d}", firstDate)
      Console.WriteLine("First date (Julian): {0}-{1}-{2}",  jc.GetDayOfMonth(firstDate),
                        jc.GetMonth(firstDate), jc.GetYear(firstDate))
   End Sub
End Module
' The example displays the following output:
'       Last date (Gregorian): 28-02-1700
'       Last date (Julian): 18-2-1700
'       
'       First date (Gregorian): 01-03-1700
'       First date (Julian): 19-2-1700

Cada CultureInfo es compatible con un conjunto de calendarios. La Calendar propiedad devuelve el calendario predeterminado para la referencia cultural y la OptionalCalendars propiedad devuelve una matriz que contiene todos los calendarios admitidos por la referencia cultural. Para cambiar el calendario usado por , CultureInfola aplicación puede establecer la Calendar propiedad en un nuevo Calendar.

GetEra omite los signos de puntuación en los nombres de la era abreviada, solo si GregorianCalendar está seleccionado en DateTimeFormatInfo.Calendar y la referencia cultural usa "A.D." como nombre de era, es decir, "A.D." es equivalente a "AD".

Constructores

GregorianCalendar()

Inicializa una nueva instancia de la clase GregorianCalendar mediante el valor predeterminado de GregorianCalendarTypes.

GregorianCalendar(GregorianCalendarTypes)

Inicializa una nueva instancia de la clase GregorianCalendar usando el valor de GregorianCalendarTypes especificado.

Campos

ADEra

Representa la era actual. Este campo es constante.

CurrentEra

Representa la era actual del calendario actual. El valor de este campo es 0.

(Heredado de Calendar)

Propiedades

AlgorithmType

Obtiene un valor que indica si el calendario actual está basado en el calendario solar, en el lunar o en una combinación de ambos.

AlgorithmType

Obtiene un valor que indica si el calendario actual está basado en el calendario solar, en el lunar o en una combinación de ambos.

(Heredado de Calendar)
CalendarType

Obtiene o establece el valor de GregorianCalendarTypes que denota la versión de idioma del GregorianCalendar actual.

DaysInYearBeforeMinSupportedYear

Obtiene el número de días del año que precede al año especificado por la propiedad MinSupportedDateTime.

(Heredado de Calendar)
Eras

Obtiene la lista de eras de GregorianCalendar.

IsReadOnly

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

(Heredado de Calendar)
MaxSupportedDateTime

Obtiene la última fecha y hora admitidas por el tipo GregorianCalendar.

MaxSupportedDateTime

Obtiene las últimas fecha y hora admitidas por este objeto Calendar.

(Heredado de Calendar)
MinSupportedDateTime

Obtiene la primera fecha y la primera hora admitidas por el tipo GregorianCalendar.

MinSupportedDateTime

Obtiene las primeras fecha y hora admitidas por este objeto Calendar.

(Heredado de Calendar)
TwoDigitYearMax

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.

Métodos

AddDays(DateTime, Int32)

Devuelve un DateTime que consiste en el número especificado de días transcurridos desde el DateTime especificado.

(Heredado de Calendar)
AddHours(DateTime, Int32)

Devuelve un DateTime que consiste en el número especificado de horas transcurridas desde el DateTime especificado.

(Heredado de Calendar)
AddMilliseconds(DateTime, Double)

Devuelve un DateTime que consiste en el número especificado de milisegundos transcurridos desde el DateTime especificado.

(Heredado de Calendar)
AddMinutes(DateTime, Int32)

Devuelve un DateTime que consiste en el número especificado de minutos transcurridos desde el DateTime especificado.

(Heredado de Calendar)
AddMonths(DateTime, Int32)

Devuelve un objeto DateTime que es un número específico de meses anterior o posterior al objeto DateTime especificado.

AddSeconds(DateTime, Int32)

Devuelve un DateTime que consiste en el número especificado de segundos transcurridos desde el DateTime especificado.

(Heredado de Calendar)
AddWeeks(DateTime, Int32)

Devuelve un DateTime que consiste en el número especificado de semanas aparte del DateTime especificado.

AddWeeks(DateTime, Int32)

Devuelve un DateTime que consiste en el número especificado de semanas aparte del DateTime especificado.

(Heredado de Calendar)
AddYears(DateTime, Int32)

Devuelve un objeto DateTime que es el número especificado de años fuera del objeto DateTime especificado.

Clone()

Crea un objeto nuevo copiado del objeto Calendar actual.

(Heredado de Calendar)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetDayOfMonth(DateTime)

Devuelve el día del mes del objeto DateTime especificado.

GetDayOfWeek(DateTime)

Devuelve el día de la semana del objeto DateTime especificado.

GetDayOfYear(DateTime)

Devuelve el día del año del objeto DateTime especificado.

GetDaysInMonth(Int32, Int32)

Devuelve el número de días del mes y año especificados de la era actual.

(Heredado de Calendar)
GetDaysInMonth(Int32, Int32, Int32)

Devuelve el número de días del mes especificado del año especificado de la era especificada.

GetDaysInYear(Int32)

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

(Heredado de Calendar)
GetDaysInYear(Int32, Int32)

Devuelve el número de días del año especificado de la era especificada.

GetEra(DateTime)

Devuelve la era del objeto DateTime especificado.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetHour(DateTime)

Devuelve el valor de las horas del DateTime especificado.

(Heredado de Calendar)
GetLeapMonth(Int32)

Calcula el mes bisiesto para un año especificado.

(Heredado de Calendar)
GetLeapMonth(Int32, Int32)

Calcula el mes bisiesto para un año y era especificados.

GetLeapMonth(Int32, Int32)

Calcula el mes bisiesto para un año y era especificados.

(Heredado de Calendar)
GetMilliseconds(DateTime)

Devuelve el valor de los milisegundos del DateTime especificado.

(Heredado de Calendar)
GetMinute(DateTime)

Devuelve el valor de los minutos del DateTime especificado.

(Heredado de Calendar)
GetMonth(DateTime)

Devuelve el mes del DateTime especificado.

GetMonthsInYear(Int32)

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

(Heredado de Calendar)
GetMonthsInYear(Int32, Int32)

Devuelve el número de meses del año especificado de la era especificada.

GetSecond(DateTime)

Devuelve el valor de los segundos del DateTime especificado.

(Heredado de Calendar)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Devuelve la semana del año que incluye la fecha del objeto DateTime especificado.

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Devuelve la semana del año que incluye la fecha en el valor DateTime especificado.

(Heredado de Calendar)
GetYear(DateTime)

Devuelve el año del DateTime especificado.

IsLeapDay(Int32, Int32, Int32)

Determina si la fecha especificada de la era actual es un día bisiesto.

(Heredado de Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

Determina si la fecha especificada de la era especificada es un día bisiesto.

IsLeapMonth(Int32, Int32)

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

(Heredado de Calendar)
IsLeapMonth(Int32, Int32, Int32)

Determina si el mes especificado del año especificado de la era especificada es un mes bisiesto.

IsLeapYear(Int32)

Determina si el año especificado de la era actual es un año bisiesto.

(Heredado de Calendar)
IsLeapYear(Int32, Int32)

Determina si el año especificado de la era especificada es un año bisiesto.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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

(Heredado de Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Devuelve un DateTime que se establece en la fecha y hora de la era especificada.

ToFourDigitYear(Int32)

Convierte el año especificado en un año de 4 dígitos mediante la propiedad TwoDigitYearMax para determinar el siglo adecuado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también