Partilhar via


Calendar Classe

Definição

Representa a hora em divisões, como semanas, meses e anos.

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
Herança
Calendar
Derivado
Atributos
Implementações

Exemplos

O exemplo de código a seguir demonstra os membros da Calendar classe .

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

Comentários

Um calendário divide o tempo em unidades, como semanas, meses e anos. O número, o comprimento e o início das divisões variam em cada calendário.

Observação

Para obter informações sobre como usar as classes de calendário no .NET, consulte Trabalhando com calendários.

Qualquer momento no tempo pode ser representado como um conjunto de valores numéricos usando um calendário específico. Por exemplo, um equinócio vernal ocorreu em (1999, 3, 20, 8, 46, 0, 0,0) no calendário gregoriano, ou seja, 20 de março de 1999 C.E. às 8:46:00:0.0. Uma implementação de Calendar pode mapear qualquer data no intervalo de um calendário específico para um conjunto semelhante de valores numéricos e DateTime pode mapear esses conjuntos de valores numéricos para uma representação textual usando informações de Calendar e DateTimeFormatInfo. A representação textual pode diferenciar cultura, por exemplo, "8:46 AM 20 de março de 1999 AD" para a cultura en-US ou não diferencia cultura, por exemplo, "1999-03-20T08:46:00" no formato ISO 8601.

Uma Calendar implementação pode definir uma ou mais eras. A Calendar classe identifica as eras como inteiros enumerados, em que a era atual (CurrentEra) tem o valor 0.

Importante

As eras nos calendários japoneses se baseiam no reinado do Imperador e, portanto, estão sujeitas a alterações. Por exemplo, 1º de maio de 2019 marcou o início da era Reiwa no JapaneseCalendar e no JapaneseLunisolarCalendar. Tal alteração de eras afeta todos os aplicativos que usam esses calendários. Para obter mais informações e determinar se seus aplicativos são afetados, consulte Manipulando uma nova era no calendário japonês no .NET. Para obter informações sobre como testar seus aplicativos em sistemas Windows para garantir sua preparação para a alteração da era, consulte Preparar seu aplicativo para a alteração da era japonesa. Para recursos no .NET que dão suporte a calendários com várias eras e para práticas recomendadas ao trabalhar com calendários que dão suporte a várias eras, consulte Trabalhando com eras.

Para compensar a diferença entre o ano civil e a hora real em que a Terra gira ao redor do sol ou a hora real em que a lua gira ao redor da Terra, um ano bissexto tem um número diferente de dias de um ano civil padrão. Cada Calendar implementação define anos bissextos de maneira diferente.

Para consistência, a primeira unidade em cada intervalo (o primeiro mês, por exemplo) recebe o valor 1.

O System.Globalization namespace inclui as seguintes Calendar implementações:

Construtores

Calendar()

Inicializa uma nova instância da classe Calendar.

Campos

CurrentEra

Representa a era atual do calendário atual. O valor desse campo é 0.

Propriedades

AlgorithmType

Obtém um valor que indica se o calendário atual é solar, lunar ou uma combinação de ambos.

DaysInYearBeforeMinSupportedYear

Obtém o número de dias do ano que precede o ano especificado pela propriedade MinSupportedDateTime.

Eras

Quando substituído em uma classe derivada, obtém a lista de eras no calendário atual.

IsReadOnly

Obtém um valor que indica se esse objeto Calendar é somente leitura.

MaxSupportedDateTime

Obtém a data e hora mais recentes com suporte deste objeto Calendar.

MinSupportedDateTime

Obtém a data e hora menos recentes com suporte deste objeto Calendar.

TwoDigitYearMax

Obtém ou define o último ano de um intervalo de 100 anos que pode ser representado por um ano de dois dígitos.

Métodos

AddDays(DateTime, Int32)

Retorna um DateTime que é o número especificado de dias à frente do DateTime indicado.

AddHours(DateTime, Int32)

Retorna um DateTime que é o número especificado de horas à frente do DateTime indicado.

AddMilliseconds(DateTime, Double)

Retorna um DateTime que é o número especificado de milissegundos à frente do DateTime indicado.

AddMinutes(DateTime, Int32)

Retorna um DateTime que é o número especificado de minutos à frente do DateTime indicado.

AddMonths(DateTime, Int32)

Quando substituído em uma classe derivada, retorna um DateTime que é o número especificado de meses à frente do DateTime especificado.

AddSeconds(DateTime, Int32)

Retorna um DateTime que é o número especificado de segundos à frente do DateTime indicado.

AddWeeks(DateTime, Int32)

Retorna um DateTime que é o número especificado de semanas à frente do DateTime indicado.

AddYears(DateTime, Int32)

Quando substituído em uma classe derivada, retorna um DateTime que é o número especificado de anos à frente especificado DateTime.

Clone()

Cria um novo objeto que é uma cópia do objeto Calendar atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDayOfMonth(DateTime)

Quando substituído em uma classe derivada, retorna o dia do mês no DateTime especificado.

GetDayOfWeek(DateTime)

Quando substituído em uma classe derivada, retorna o dia da semana no DateTime especificado.

GetDayOfYear(DateTime)

Quando substituído em uma classe derivada, retorna o dia do ano no DateTime especificado.

GetDaysInMonth(Int32, Int32)

Retorna o número de dias no mês e ano especificados da era atual.

GetDaysInMonth(Int32, Int32, Int32)

Quando substituído em uma classe derivada, retorna o número de dias no mês, ano e era especificados.

GetDaysInYear(Int32)

Retorna o número de dias no ano especificado da era atual.

GetDaysInYear(Int32, Int32)

Quando substituído em uma classe derivada, retorna o número de dias no ano e era especificados.

GetEra(DateTime)

Quando substituído em uma classe derivada, retorna a era do DateTime especificado.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetHour(DateTime)

Retorna o valor de horas no DateTime especificado.

GetLeapMonth(Int32)

Calcula o mês bissexto de um ano especificado.

GetLeapMonth(Int32, Int32)

Calcula o mês bissexto de um ano e era especificados.

GetMilliseconds(DateTime)

Retorna o valor de milissegundos no DateTime especificado.

GetMinute(DateTime)

Retorna o valor de minutos no DateTime especificado.

GetMonth(DateTime)

Quando substituído em uma classe derivada, retorna o mês no DateTime especificado.

GetMonthsInYear(Int32)

Retorna o número de meses no ano especificado na era atual.

GetMonthsInYear(Int32, Int32)

Quando substituído em uma classe derivada, retorna o número de meses no ano especificado da era especificada.

GetSecond(DateTime)

Retorna o valor de segundos no DateTime especificado.

GetType()

Obtém o Type da instância atual.

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

Retorna a semana do ano que inclui a data no valor DateTime especificado.

GetYear(DateTime)

Quando substituído em uma classe derivada, retorna o ano no DateTime especificado.

IsLeapDay(Int32, Int32, Int32)

Determina se a data especificada na era atual é um dia bissexto.

IsLeapDay(Int32, Int32, Int32, Int32)

Quando substituído em uma classe derivada, determina se a data especificada na era especificada é um dia bissexto.

IsLeapMonth(Int32, Int32)

Determina se o mês especificado no ano especificado na era atual é um mês bissexto.

IsLeapMonth(Int32, Int32, Int32)

Quando substituído em uma classe derivada, determina se o mês especificado no ano especificado na era especificada é um mês bissexto.

IsLeapYear(Int32)

Determina se o ano especificado na era atual é um ano bissexto.

IsLeapYear(Int32, Int32)

Quando substituído em uma classe derivada, determina se o ano especificado na era especificada é um ano bissexto.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ReadOnly(Calendar)

Retorna uma versão somente leitura do objeto Calendar especificado.

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

Retorna um DateTime que é definido como a data e hora especificadas na era atual.

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

Quando substituído em uma classe derivada, retorna um DateTime que é definido como a data e hora especificadas na era especificada.

ToFourDigitYear(Int32)

Converte o ano especificado em um ano de quatro dígitos usando a propriedade TwoDigitYearMax para determinar o século apropriado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também