Calendar Classe

Definição

Representa a hora em divisões, como semanas, meses e anos.Represents time in divisions, such as weeks, months, and years.

public ref class Calendar abstract : ICloneable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class Calendar : ICloneable
type Calendar = class
    interface ICloneable
Public MustInherit Class Calendar
Implements ICloneable
Herança
Calendar
Derivado
Atributos
Implementações

Exemplos

O exemplo de código a seguir demonstra os membros Calendar da classe.The following code example demonstrates the members of the Calendar class.

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.A calendar divides time into units, such as weeks, months, and years. O número, o comprimento e o início das divisões variam em cada calendário.The number, length, and start of the divisions vary in each calendar.

Observação

Para obter informações sobre como usar as classes de calendário no .NET, consulte trabalhando com calendários.For information about using the calendar classes in .NET, see Working with Calendars.

Qualquer momento no tempo pode ser representado como um conjunto de valores numéricos usando um calendário específico.Any moment in time can be represented as a set of numeric values using a particular calendar. Por exemplo, um Vernal Equinox ocorreu às (1999, 3, 20, 8, 46, 0, 0,0) no calendário gregoriano, ou seja, 20 de março, 1999 C.E.For example, a vernal equinox occurred at (1999, 3, 20, 8, 46, 0, 0.0) in the Gregorian calendar, that is, March 20, 1999 C.E. at 8:46:00:0.0.at 8:46:00:0.0. Uma implementação do 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 Calendar informações DateTimeFormatInfode e.An implementation of Calendar can map any date in the range of a specific calendar to a similar set of numeric values, and DateTime can map such sets of numeric values to a textual representation using information from Calendar and DateTimeFormatInfo. A representação textual pode ser sensível à cultura, por exemplo, "8:46 AM 20 de março de 1999" para a cultura en-US ou não diferencia culturas, por exemplo, "1999-03-20T08:46:00" no formato ISO 8601.The textual representation can be culture-sensitive, for example, "8:46 AM March 20th 1999 AD" for the en-US culture, or culture-insensitive, for example, "1999-03-20T08:46:00" in ISO 8601 format.

Uma Calendar implementação pode definir um ou mais apagar.A Calendar implementation can define one or more eras. A Calendar classe identifica o apagamento como números inteiros enumerados, em que a era atualCurrentEra() tem o valor 0.The Calendar class identifies the eras as enumerated integers, where the current era (CurrentEra) has the value 0.

Importante

As eras nos calendários japoneses se baseiam no reinado do Imperador e, portanto, estão sujeitas a alterações.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Por exemplo, 1º de maio de 2019 marcou o início da era Reiwa no JapaneseCalendar e no JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Tal alteração de eras afeta todos os aplicativos que usam esses calendários.Such a change of era affects all applications that use these calendars. Veja Tratamento de uma nova era no calendário japonês no .NET para obter mais informações e para determinar se seus aplicativos são afetados.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Veja Preparar seu aplicativo para a mudança de era no calendário japonês para obter informações sobre como testar seus aplicativos em sistemas Windows para assegurar que eles estejam preparados para a alteração de era.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Confira Trabalhando com eras para ver recursos do .NET que dão suporte a calendários com várias eras e confira práticas recomendadas de trabalho com calendários que dão suporte a várias eras.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

Para fazer a diferença entre o ano civil e o momento real em que a Terra gira em todo o sol ou o tempo real que a lua gira em volta da terra, um ano bissexto tem um número diferente de dias a partir de um ano civil padrão.To make up for the difference between the calendar year and the actual time that the earth rotates around the sun or the actual time that the moon rotates around the earth, a leap year has a different number of days from a standard calendar year. Cada Calendar implementação define anos bissextos de forma diferente.Each Calendar implementation defines leap years differently.

Para fins de consistência, a primeira unidade em cada intervalo (o primeiro mês, por exemplo) é atribuída ao valor 1.For consistency, the first unit in each interval (the first month, for example) is assigned the value 1.

O System.Globalization namespace inclui as seguintes Calendar implementações:The System.Globalization namespace includes the following Calendar implementations:

Construtores

Calendar()

Inicializa uma nova instância da classe Calendar.Initializes a new instance of the Calendar class.

Campos

CurrentEra

Representa a era atual do calendário atual.Represents the current era of the current calendar. O valor desse campo é 0.The value of this field is 0.

Propriedades

AlgorithmType

Obtém um valor que indica se o calendário atual é solar, lunar ou uma combinação de ambos.Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both.

DaysInYearBeforeMinSupportedYear

Obtém o número de dias do ano que precede o ano especificado pela propriedade MinSupportedDateTime.Gets the number of days in the year that precedes the year that is specified by the MinSupportedDateTime property.

Eras

Quando substituído em uma classe derivada, obtém a lista de eras no calendário atual.When overridden in a derived class, gets the list of eras in the current calendar.

IsReadOnly

Obtém um valor que indica se esse objeto Calendar é somente leitura.Gets a value indicating whether this Calendar object is read-only.

MaxSupportedDateTime

Obtém a data e hora mais recentes com suporte deste objeto Calendar.Gets the latest date and time supported by this Calendar object.

MinSupportedDateTime

Obtém a data e hora menos recentes com suporte deste objeto Calendar.Gets the earliest date and time supported by this Calendar object.

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.Gets or sets the last year of a 100-year range that can be represented by a 2-digit year.

Métodos

AddDays(DateTime, Int32)

Retorna um DateTime que é o número especificado de dias à frente do DateTime indicado.Returns a DateTime that is the specified number of days away from the specified DateTime.

AddHours(DateTime, Int32)

Retorna um DateTime que é o número especificado de horas à frente do DateTime indicado.Returns a DateTime that is the specified number of hours away from the specified DateTime.

AddMilliseconds(DateTime, Double)

Retorna um DateTime que é o número especificado de milissegundos à frente do DateTime indicado.Returns a DateTime that is the specified number of milliseconds away from the specified DateTime.

AddMinutes(DateTime, Int32)

Retorna um DateTime que é o número especificado de minutos à frente do DateTime indicado.Returns a DateTime that is the specified number of minutes away from the specified DateTime.

AddMonths(DateTime, Int32)

Quando substituído em uma classe derivada, retorna um DateTime que é o número especificado de meses à frente do DateTime especificado.When overridden in a derived class, returns a DateTime that is the specified number of months away from the specified DateTime.

AddSeconds(DateTime, Int32)

Retorna um DateTime que é o número especificado de segundos à frente do DateTime indicado.Returns a DateTime that is the specified number of seconds away from the specified DateTime.

AddWeeks(DateTime, Int32)

Retorna um DateTime que é o número especificado de semanas à frente do DateTime indicado.Returns a DateTime that is the specified number of weeks away from the specified DateTime.

AddYears(DateTime, Int32)

Quando substituído em uma classe derivada, retorna um DateTime que é o número especificado de anos à frente especificado DateTime.When overridden in a derived class, returns a DateTime that is the specified number of years away from the specified DateTime.

Clone()

Cria um novo objeto que é uma cópia do objeto Calendar atual.Creates a new object that is a copy of the current Calendar object.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetDayOfMonth(DateTime)

Quando substituído em uma classe derivada, retorna o dia do mês no DateTime especificado.When overridden in a derived class, returns the day of the month in the specified DateTime.

GetDayOfWeek(DateTime)

Quando substituído em uma classe derivada, retorna o dia da semana no DateTime especificado.When overridden in a derived class, returns the day of the week in the specified DateTime.

GetDayOfYear(DateTime)

Quando substituído em uma classe derivada, retorna o dia do ano no DateTime especificado.When overridden in a derived class, returns the day of the year in the specified DateTime.

GetDaysInMonth(Int32, Int32)

Retorna o número de dias no mês e ano especificados da era atual.Returns the number of days in the specified month and year of the current era.

GetDaysInMonth(Int32, Int32, Int32)

Quando substituído em uma classe derivada, retorna o número de dias no mês, ano e era especificados.When overridden in a derived class, returns the number of days in the specified month, year, and era.

GetDaysInYear(Int32)

Retorna o número de dias no ano especificado da era atual.Returns the number of days in the specified year of the current era.

GetDaysInYear(Int32, Int32)

Quando substituído em uma classe derivada, retorna o número de dias no ano e era especificados.When overridden in a derived class, returns the number of days in the specified year and era.

GetEra(DateTime)

Quando substituído em uma classe derivada, retorna a era do DateTime especificado.When overridden in a derived class, returns the era of the specified DateTime.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetHour(DateTime)

Retorna o valor de horas no DateTime especificado.Returns the hours value in the specified DateTime.

GetLeapMonth(Int32)

Calcula o mês bissexto de um ano especificado.Calculates the leap month for a specified year.

GetLeapMonth(Int32, Int32)

Calcula o mês bissexto de um ano e era especificados.Calculates the leap month for a specified year and era.

GetMilliseconds(DateTime)

Retorna o valor de milissegundos no DateTime especificado.Returns the milliseconds value in the specified DateTime.

GetMinute(DateTime)

Retorna o valor de minutos no DateTime especificado.Returns the minutes value in the specified DateTime.

GetMonth(DateTime)

Quando substituído em uma classe derivada, retorna o mês no DateTime especificado.When overridden in a derived class, returns the month in the specified DateTime.

GetMonthsInYear(Int32)

Retorna o número de meses no ano especificado na era atual.Returns the number of months in the specified year in the current era.

GetMonthsInYear(Int32, Int32)

Quando substituído em uma classe derivada, retorna o número de meses no ano especificado da era especificada.When overridden in a derived class, returns the number of months in the specified year in the specified era.

GetSecond(DateTime)

Retorna o valor de segundos no DateTime especificado.Returns the seconds value in the specified DateTime.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Retorna a semana do ano que inclui a data no valor DateTime especificado.Returns the week of the year that includes the date in the specified DateTime value.

GetYear(DateTime)

Quando substituído em uma classe derivada, retorna o ano no DateTime especificado.When overridden in a derived class, returns the year in the specified DateTime.

IsLeapDay(Int32, Int32, Int32)

Determina se a data especificada na era atual é um dia bissexto.Determines whether the specified date in the current era is a leap day.

IsLeapDay(Int32, Int32, Int32, Int32)

Quando substituído em uma classe derivada, determina se a data especificada na era especificada é um dia bissexto.When overridden in a derived class, determines whether the specified date in the specified era is a leap day.

IsLeapMonth(Int32, Int32)

Determina se o mês especificado no ano especificado na era atual é um mês bissexto.Determines whether the specified month in the specified year in the current era is a leap month.

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.When overridden in a derived class, determines whether the specified month in the specified year in the specified era is a leap month.

IsLeapYear(Int32)

Determina se o ano especificado na era atual é um ano bissexto.Determines whether the specified year in the current era is a leap year.

IsLeapYear(Int32, Int32)

Quando substituído em uma classe derivada, determina se o ano especificado na era especificada é um ano bissexto.When overridden in a derived class, determines whether the specified year in the specified era is a leap year.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ReadOnly(Calendar)

Retorna uma versão somente leitura do objeto Calendar especificado.Returns a read-only version of the specified Calendar object.

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

Retorna um DateTime que é definido como a data e hora especificadas na era atual.Returns a DateTime that is set to the specified date and time in the current era.

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.When overridden in a derived class, returns a DateTime that is set to the specified date and time in the specified era.

ToFourDigitYear(Int32)

Converte o ano especificado em um ano de quatro dígitos usando a propriedade TwoDigitYearMax para determinar o século apropriado.Converts the specified year to a four-digit year by using the TwoDigitYearMax property to determine the appropriate century.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também