Calendar Clase

Definición

Representa el tiempo en divisiones, como semanas, meses y años.

public ref class Calendar abstract
public ref class Calendar abstract : ICloneable
public abstract class Calendar
public abstract class Calendar : ICloneable
[System.Serializable]
public abstract class Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Calendar : ICloneable
type Calendar = class
type Calendar = class
    interface ICloneable
[<System.Serializable>]
type Calendar = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Calendar = class
    interface ICloneable
Public MustInherit Class Calendar
Public MustInherit Class Calendar
Implements ICloneable
Herencia
Calendar
Derivado
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestran los miembros de la Calendar clase .

using namespace System;
using namespace System::Globalization;
void DisplayValues( Calendar^ myCal, DateTime myDT )
{
   Console::WriteLine( "   Era: {0}", myCal->GetEra( myDT ) );
   Console::WriteLine( "   Year: {0}", myCal->GetYear( myDT ) );
   Console::WriteLine( "   Month: {0}", myCal->GetMonth( myDT ) );
   Console::WriteLine( "   DayOfYear: {0}", myCal->GetDayOfYear( myDT ) );
   Console::WriteLine( "   DayOfMonth: {0}", myCal->GetDayOfMonth( myDT ) );
   Console::WriteLine( "   DayOfWeek: {0}", myCal->GetDayOfWeek( myDT ) );
   Console::WriteLine( "   Hour: {0}", myCal->GetHour( myDT ) );
   Console::WriteLine( "   Minute: {0}", myCal->GetMinute( myDT ) );
   Console::WriteLine( "   Second: {0}", myCal->GetSecond( myDT ) );
   Console::WriteLine( "   Milliseconds: {0}", myCal->GetMilliseconds( myDT ) );
   Console::WriteLine();
}

int main()
{
   
   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
   
   // Uses the default calendar of the InvariantCulture.
   Calendar^ myCal = CultureInfo::InvariantCulture->Calendar;
   
   // Displays the values of the DateTime.
   Console::WriteLine( "April 3, 2002 of the Gregorian calendar:" );
   DisplayValues( myCal, myDT );
   
   // Adds 5 to every component of the DateTime.
   myDT = myCal->AddYears( myDT, 5 );
   myDT = myCal->AddMonths( myDT, 5 );
   myDT = myCal->AddWeeks( myDT, 5 );
   myDT = myCal->AddDays( myDT, 5 );
   myDT = myCal->AddHours( myDT, 5 );
   myDT = myCal->AddMinutes( myDT, 5 );
   myDT = myCal->AddSeconds( myDT, 5 );
   myDT = myCal->AddMilliseconds( myDT, 5 );
   
   // Displays the values of the DateTime.
   Console::WriteLine( "After adding 5 to each component of the DateTime:" );
   DisplayValues( myCal, myDT );
}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar:
Era:          1
Year:         2002
Month:        4
DayOfYear:    93
DayOfMonth:   3
DayOfWeek:    Wednesday
Hour:         0
Minute:       0
Second:       0
Milliseconds: 0

After adding 5 to each component of the DateTime:
Era:          1
Year:         2007
Month:        10
DayOfYear:    286
DayOfMonth:   13
DayOfWeek:    Saturday
Hour:         5
Minute:       5
Second:       5
Milliseconds: 5

*/
using System;
using System.Globalization;

public class SamplesCalendar  {

   public static void Main()  {

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );

      // Uses the default calendar of the InvariantCulture.
      Calendar myCal = CultureInfo.InvariantCulture.Calendar;

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
      DisplayValues( myCal, myDT );

      // Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears( myDT, 5 );
      myDT = myCal.AddMonths( myDT, 5 );
      myDT = myCal.AddWeeks( myDT, 5 );
      myDT = myCal.AddDays( myDT, 5 );
      myDT = myCal.AddHours( myDT, 5 );
      myDT = myCal.AddMinutes( myDT, 5 );
      myDT = myCal.AddSeconds( myDT, 5 );
      myDT = myCal.AddMilliseconds( myDT, 5 );

      // Displays the values of the DateTime.
      Console.WriteLine( "After adding 5 to each component of the DateTime:" );
      DisplayValues( myCal, myDT );
   }

   public static void DisplayValues( Calendar myCal, DateTime myDT )  {
      Console.WriteLine( "   Era:          {0}", myCal.GetEra( myDT ) );
      Console.WriteLine( "   Year:         {0}", myCal.GetYear( myDT ) );
      Console.WriteLine( "   Month:        {0}", myCal.GetMonth( myDT ) );
      Console.WriteLine( "   DayOfYear:    {0}", myCal.GetDayOfYear( myDT ) );
      Console.WriteLine( "   DayOfMonth:   {0}", myCal.GetDayOfMonth( myDT ) );
      Console.WriteLine( "   DayOfWeek:    {0}", myCal.GetDayOfWeek( myDT ) );
      Console.WriteLine( "   Hour:         {0}", myCal.GetHour( myDT ) );
      Console.WriteLine( "   Minute:       {0}", myCal.GetMinute( myDT ) );
      Console.WriteLine( "   Second:       {0}", myCal.GetSecond( myDT ) );
      Console.WriteLine( "   Milliseconds: {0}", myCal.GetMilliseconds( myDT ) );
      Console.WriteLine();
   }
}


/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar:
   Era:          1
   Year:         2002
   Month:        4
   DayOfYear:    93
   DayOfMonth:   3
   DayOfWeek:    Wednesday
   Hour:         0
   Minute:       0
   Second:       0
   Milliseconds: 0

After adding 5 to each component of the DateTime:
   Era:          1
   Year:         2007
   Month:        10
   DayOfYear:    286
   DayOfMonth:   13
   DayOfWeek:    Saturday
   Hour:         5
   Minute:       5
   Second:       5
   Milliseconds: 5

*/
Imports System.Globalization


Public Class SamplesCalendar   

   Public Shared Sub Main()

      ' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())

      ' Uses the default calendar of the InvariantCulture.
      Dim myCal As Calendar = CultureInfo.InvariantCulture.Calendar

      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar:")
      DisplayValues(myCal, myDT)

      ' Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears(myDT, 5)
      myDT = myCal.AddMonths(myDT, 5)
      myDT = myCal.AddWeeks(myDT, 5)
      myDT = myCal.AddDays(myDT, 5)
      myDT = myCal.AddHours(myDT, 5)
      myDT = myCal.AddMinutes(myDT, 5)
      myDT = myCal.AddSeconds(myDT, 5)
      myDT = myCal.AddMilliseconds(myDT, 5)

      ' Displays the values of the DateTime.
      Console.WriteLine("After adding 5 to each component of the DateTime:")
      DisplayValues(myCal, myDT)

   End Sub

   Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
      Console.WriteLine("   Era:          {0}", myCal.GetEra(myDT))
      Console.WriteLine("   Year:         {0}", myCal.GetYear(myDT))
      Console.WriteLine("   Month:        {0}", myCal.GetMonth(myDT))
      Console.WriteLine("   DayOfYear:    {0}", myCal.GetDayOfYear(myDT))
      Console.WriteLine("   DayOfMonth:   {0}", myCal.GetDayOfMonth(myDT))
      Console.WriteLine("   DayOfWeek:    {0}", myCal.GetDayOfWeek(myDT))
      Console.WriteLine("   Hour:         {0}", myCal.GetHour(myDT))
      Console.WriteLine("   Minute:       {0}", myCal.GetMinute(myDT))
      Console.WriteLine("   Second:       {0}", myCal.GetSecond(myDT))
      Console.WriteLine("   Milliseconds: {0}", myCal.GetMilliseconds(myDT))
      Console.WriteLine()
   End Sub

End Class


'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar:
'   Era:          1
'   Year:         2002
'   Month:        4
'   DayOfYear:    93
'   DayOfMonth:   3
'   DayOfWeek:    Wednesday
'   Hour:         0
'   Minute:       0
'   Second:       0
'   Milliseconds: 0
'
'After adding 5 to each component of the DateTime:
'   Era:          1
'   Year:         2007
'   Month:        10
'   DayOfYear:    286
'   DayOfMonth:   13
'   DayOfWeek:    Saturday
'   Hour:         5
'   Minute:       5
'   Second:       5
'   Milliseconds: 5

Comentarios

Un calendario divide el tiempo en unidades, como semanas, meses y años. El número, la longitud y el inicio de las divisiones varían en cada calendario.

Nota

Para obtener información sobre el uso de las clases de calendario en .NET, vea Trabajar con calendarios.

Cualquier momento en el tiempo se puede representar como un conjunto de valores numéricos mediante un calendario determinado. Por ejemplo, se produjo un equinox vernal en (1999, 3, 20, 8, 46, 0, 0,0) en el calendario gregoriano, es decir, el 20 de marzo de 1999 C.E. a las 8:46:00:0.0. Una implementación de Calendar puede asignar cualquier fecha del intervalo de un calendario específico a un conjunto similar de valores numéricos y DateTime puede asignar dichos conjuntos de valores numéricos a una representación textual mediante la información de Calendar y DateTimeFormatInfo. La representación textual puede ser sensible a la referencia cultural, por ejemplo, "8:46 a. m. 20 de marzo de 1999 AD" para la referencia cultural en-US o que no distingue la referencia cultural, por ejemplo, "1999-03-20T08:46:00" en formato ISO 8601.

Una Calendar implementación puede definir una o varias eras. La Calendar clase identifica las eras como enteros enumerados, donde la era actual (CurrentEra) tiene el valor 0.

Importante

Las eras en los calendarios japoneses se basan en el reino del emperador y, por tanto, se espera que cambien. Por ejemplo, el 1 de mayo de 2019 marcaba el comienzo de la era Reiwa en JapaneseCalendar y JapaneseLunisolarCalendar. Este cambio de era afecta a todas las aplicaciones que usan estos calendarios. Para obtener más información y determinar si las aplicaciones se ven afectadas, consulte Control de una nueva era en el calendario japonés en .NET. Para obtener información sobre cómo probar las aplicaciones en sistemas Windows para garantizar su preparación para el cambio de era, consulte Preparación de la aplicación para el cambio en la era japonesa. Para ver las características de .NET que admiten calendarios con varias eras y para conocer los procedimientos recomendados al trabajar con calendarios que admiten varias eras, consulte Trabajar con eras.

Para compensar la diferencia entre el año natural y la hora real que la tierra gira alrededor del sol o la hora real en que la luna gira alrededor de la tierra, un año bisiesto tiene un número diferente de días a partir de un año natural estándar. Cada Calendar implementación define años bisiestos de forma diferente.

Para la coherencia, a la primera unidad de cada intervalo (por ejemplo, el primer mes) se le asigna el valor 1.

El System.Globalization espacio de nombres incluye las siguientes Calendar implementaciones:

Constructores

Calendar()

Inicializa una nueva instancia de la clase Calendar.

Campos

CurrentEra

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

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.

DaysInYearBeforeMinSupportedYear

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

Eras

Cuando se invalida en una clase derivada, obtiene la lista de eras del calendario actual.

IsReadOnly

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

MaxSupportedDateTime

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

MinSupportedDateTime

Obtiene las primeras fecha y hora admitidas por este objeto 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.

AddHours(DateTime, Int32)

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

AddMilliseconds(DateTime, Double)

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

AddMinutes(DateTime, Int32)

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

AddMonths(DateTime, Int32)

Cuando se invalida en una clase derivada, devuelve un DateTime que consiste en el número especificado de meses transcurridos desde el DateTime especificado.

AddSeconds(DateTime, Int32)

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

AddWeeks(DateTime, Int32)

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

AddYears(DateTime, Int32)

Cuando se invalida en una clase derivada, devuelve un DateTime, que es el número especificado de años transcurridos desde el DateTime especificado.

Clone()

Crea un objeto nuevo copiado del objeto Calendar actual.

Equals(Object)

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

(Heredado de Object)
GetDayOfMonth(DateTime)

Cuando se invalida en una clase derivada, devuelve el día del mes del DateTime especificado.

GetDayOfWeek(DateTime)

Cuando se invalida en una clase derivada, devuelve el día de la semana del DateTime especificado.

GetDayOfYear(DateTime)

Cuando se invalida en una clase derivada, devuelve el día del año del DateTime especificado.

GetDaysInMonth(Int32, Int32)

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

GetDaysInMonth(Int32, Int32, Int32)

Cuando se invalida en una clase derivada, devuelve el número de días del mes, año y era especificados.

GetDaysInYear(Int32)

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

GetDaysInYear(Int32, Int32)

Cuando se invalida en una clase derivada, devuelve el número de días del año y era especificados.

GetEra(DateTime)

Cuando se invalida en una clase derivada, devuelve la era del DateTime especificado.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetHour(DateTime)

Devuelve el valor de las horas del DateTime especificado.

GetLeapMonth(Int32)

Calcula el mes bisiesto para un año especificado.

GetLeapMonth(Int32, Int32)

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

GetMilliseconds(DateTime)

Devuelve el valor de los milisegundos del DateTime especificado.

GetMinute(DateTime)

Devuelve el valor de los minutos del DateTime especificado.

GetMonth(DateTime)

Cuando se invalida en una clase derivada, devuelve el mes del DateTime especificado.

GetMonthsInYear(Int32)

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

GetMonthsInYear(Int32, Int32)

Cuando se invalida en una clase derivada, 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.

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 en el valor DateTime especificado.

GetYear(DateTime)

Cuando se invalida en una clase derivada, 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.

IsLeapDay(Int32, Int32, Int32, Int32)

Cuando se invalida en una clase derivada, 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.

IsLeapMonth(Int32, Int32, Int32)

Cuando se invalida en una clase derivada, 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.

IsLeapYear(Int32, Int32)

Cuando se invalida en una clase derivada, 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)
ReadOnly(Calendar)

Devuelve una versión de solo lectura del objeto Calendar especificado.

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.

ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Cuando se invalida en una clase derivada, devuelve un DateTime que se establece en la fecha y la hora especificadas 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