Calendar Classe

Definição

Representa o tempo em divisões, como semanas, meses e anos.

public ref class Calendar abstract
public ref class Calendar abstract : ICloneable
public abstract class Calendar
[System.Serializable]
public abstract class Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Calendar : ICloneable
public abstract class Calendar : ICloneable
type Calendar = class
[<System.Serializable>]
type Calendar = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Calendar = class
    interface ICloneable
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 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.

Note

Para obter informações sobre como usar as classes de calendário em .NET, consulte Working with Calendars.

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, E.C. à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 a 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

Eras nos calendários japoneses são baseadas no reinado do imperador e, portanto, espera-se que mudem. Por exemplo, 1º de maio de 2019 marcou o início da era Reiwa no JapaneseCalendar e JapaneseLunisolarCalendar. Essa mudança de era afeta todos os aplicativos que usam esses calendários. Para obter mais informações e determinar se seus aplicativos são afetados, consulte Como lidar com 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 obter recursos no .NET que dão suporte a calendários com várias eras e 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 forma 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

Nome Description
Calendar()

Inicializa uma nova instância da classe Calendar.

Campos

Nome Description
CurrentEra

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

Propriedades

Nome Description
AlgorithmType

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

DaysInYearBeforeMinSupportedYear

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

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 Calendar objeto é somente leitura.

MaxSupportedDateTime

Obtém a data e a hora mais recentes compatíveis com esse Calendar objeto.

MinSupportedDateTime

Obtém a data e a hora mais antigas compatíveis com esse Calendar objeto.

TwoDigitYearMax

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

Métodos

Nome Description
AddDays(DateTime, Int32)

Retorna um DateTime que é o número especificado de dias de distância do especificado DateTime.

AddHours(DateTime, Int32)

Retorna um DateTime que é o número especificado de horas de distância do especificado DateTime.

AddMilliseconds(DateTime, Double)

Retorna um DateTime que é o número especificado de milissegundos de distância do especificado DateTime.

AddMinutes(DateTime, Int32)

Retorna um DateTime que é o número especificado de minutos de distância do especificado DateTime.

AddMonths(DateTime, Int32)

Quando substituído em uma classe derivada, retorna um DateTime número especificado de meses de distância do especificado DateTime.

AddSeconds(DateTime, Int32)

Retorna um DateTime que é o número especificado de segundos de distância do especificado DateTime.

AddWeeks(DateTime, Int32)

Retorna um DateTime que é o número especificado de semanas de distância do especificado DateTime.

AddYears(DateTime, Int32)

Quando substituído em uma classe derivada, retorna um DateTime número especificado de anos de distância do especificado DateTime.

Clone()

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

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 especificado DateTime.

GetDayOfWeek(DateTime)

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

GetDayOfYear(DateTime)

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

GetDaysInMonth(Int32, Int32, Int32)

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

GetDaysInMonth(Int32, Int32)

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

GetDaysInYear(Int32, Int32)

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

GetDaysInYear(Int32)

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

GetEra(DateTime)

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

GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetHour(DateTime)

Retorna o valor de horas no especificado DateTime.

GetLeapMonth(Int32, Int32)

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

GetLeapMonth(Int32)

Calcula o mês bissexto para um ano especificado.

GetMilliseconds(DateTime)

Retorna o valor de milissegundos no especificado DateTime.

GetMinute(DateTime)

Retorna o valor de minutos no valor especificado DateTime.

GetMonth(DateTime)

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

GetMonthsInYear(Int32, Int32)

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

GetMonthsInYear(Int32)

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

GetSecond(DateTime)

Retorna o valor de segundos no valor especificado DateTime.

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 especificado DateTime .

GetYear(DateTime)

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

IsLeapDay(Int32, Int32, Int32, Int32)

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

IsLeapDay(Int32, Int32, Int32)

Determina se a data especificada na era atual é um dia 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.

IsLeapMonth(Int32, Int32)

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

IsLeapYear(Int32, Int32)

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

IsLeapYear(Int32)

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

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ReadOnly(Calendar)

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

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 a hora especificadas na era especificada.

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

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

ToFourDigitYear(Int32)

Converte o ano especificado em um ano de quatro dígitos usando a TwoDigitYearMax propriedade 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