GregorianCalendar Classe

Definição

Representa o calendário 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
Herança
GregorianCalendar
Atributos

Exemplos

O exemplo de código a seguir mostra que DateTimeFormatInfo ignora a pontuação no nome da era, somente se o calendário for gregoriano e a cultura usar o nome 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

Comentários

O calendário gregoriano reconhece duas eras: B.C. ou B.C.E., e A.D. ou C.E. Essa implementação da GregorianCalendar classe reconhece apenas a era atual (A.D. ou C.E.).

Observação

Para obter informações sobre como usar a GregorianCalendar classe e as outras classes de calendário no .NET Framework, consulte Trabalhando com calendários.

Um ano bissexto no calendário gregoriano é definido como um ano uniformemente divisível por 4, a menos que seja divisível por 100. No entanto, anos divisível por 400 são anos bissextos. Por exemplo, o ano 1900 não foi um ano bissexto, mas o ano 2000 foi. Um ano comum tem 365 dias e um ano bissexto tem 366 dias.

O calendário gregoriano tem 12 meses com 28 a 31 dias cada: janeiro (31 dias), fevereiro (28 ou 29 dias), março (31 dias), abril (30 dias), maio (3) 1 dia), junho (30 dias), julho (31 dias), agosto (31 dias), setembro (30 dias), outubro (31 dias), novembro (30 dias) e dezembro (31 dias). Fevereiro tem 29 dias durante os anos bissextos e 28 durante anos comuns.

Importante

Por padrão, todos os DateTime valores e DateTimeOffset expressam datas e horas no calendário gregoriano.

O calendário gregoriano foi desenvolvido como um substituto para o calendário juliano (que é representado pela JulianCalendar classe) e foi introduzido pela primeira vez em um pequeno número de culturas em 15 de outubro de 1582. Ao trabalhar com datas históricas que precedem a adoção de uma cultura do calendário gregoriano, você deve usar o calendário original se ele estiver disponível no .NET Framework. Por exemplo, a Dinamarca mudou do calendário juliano para o calendário gregoriano em 19 de fevereiro (no calendário juliano) ou 1º de março (no calendário gregoriano) de 1700. Nesse caso, para datas antes da adoção do calendário gregoriano, você deve usar o calendário Juliano. No entanto, observe que nenhuma cultura oferece suporte intrínseco para a JulianCalendar classe . Você deve usar a JulianCalendar classe como um calendário autônomo. Para saber mais, consulte Como trabalhar com calendários.

O exemplo a seguir ilustra que 18 de fevereiro de 1700 no calendário juliano, que é o último dia em que o calendário juliano foi oficialmente usado na Dinamarca, é um dia antes de 1º de março de 1700 no calendário 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 um dá suporte a um conjunto de calendários. A Calendar propriedade retorna o calendário padrão para a cultura e a OptionalCalendars propriedade retorna uma matriz que contém todos os calendários compatíveis com a cultura. Para alterar o calendário usado por um CultureInfo, o aplicativo pode definir a Calendar propriedade como um novo Calendar.

GetEra ignora a pontuação em nomes de era abreviados, somente se o GregorianCalendar for selecionado em DateTimeFormatInfo.Calendar e a cultura usar "A.D." como o nome da era, ou seja, "A.D." é equivalente a "AD".

Construtores

GregorianCalendar()

Inicializa uma nova instância da classe GregorianCalendar usando o valor GregorianCalendarTypes padrão.

GregorianCalendar(GregorianCalendarTypes)

Inicializa uma nova instância da classe GregorianCalendar, usando o valor GregorianCalendarTypes especificado.

Campos

ADEra

Representa a era atual. Este campo é constante.

CurrentEra

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

(Herdado de Calendar)

Propriedades

AlgorithmType

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

AlgorithmType

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

(Herdado de Calendar)
CalendarType

Obtém ou define o valor GregorianCalendarTypes que denota a versão de idioma do GregorianCalendar atual.

DaysInYearBeforeMinSupportedYear

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

(Herdado de Calendar)
Eras

Obtém a lista de eras no GregorianCalendar.

IsReadOnly

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

(Herdado de Calendar)
MaxSupportedDateTime

Obtém a data e hora mais recentes com suporte pelo tipo GregorianCalendar.

MaxSupportedDateTime

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

(Herdado de Calendar)
MinSupportedDateTime

Obtém a data e hora mais antigas com suporte pelo tipo GregorianCalendar.

MinSupportedDateTime

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

(Herdado de 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.

(Herdado de Calendar)
AddHours(DateTime, Int32)

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

(Herdado de Calendar)
AddMilliseconds(DateTime, Double)

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

(Herdado de Calendar)
AddMinutes(DateTime, Int32)

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

(Herdado de Calendar)
AddMonths(DateTime, Int32)

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

AddSeconds(DateTime, Int32)

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

(Herdado de Calendar)
AddWeeks(DateTime, Int32)

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

AddWeeks(DateTime, Int32)

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

(Herdado de Calendar)
AddYears(DateTime, Int32)

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

Clone()

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

(Herdado de Calendar)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDayOfMonth(DateTime)

Retorna o dia do mês no DateTime especificado.

GetDayOfWeek(DateTime)

Retorna o dia da semana no DateTime especificado.

GetDayOfYear(DateTime)

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.

(Herdado de Calendar)
GetDaysInMonth(Int32, Int32, Int32)

Retorna o número de dias no mês especificado do ano especificado na era especificada.

GetDaysInYear(Int32)

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

(Herdado de Calendar)
GetDaysInYear(Int32, Int32)

Retorna o número de dias do ano especificado na era especificada.

GetEra(DateTime)

Retorna a era no 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.

(Herdado de Calendar)
GetLeapMonth(Int32)

Calcula o mês bissexto de um ano especificado.

(Herdado de Calendar)
GetLeapMonth(Int32, Int32)

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

GetLeapMonth(Int32, Int32)

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

(Herdado de Calendar)
GetMilliseconds(DateTime)

Retorna o valor de milissegundos no DateTime especificado.

(Herdado de Calendar)
GetMinute(DateTime)

Retorna o valor de minutos no DateTime especificado.

(Herdado de Calendar)
GetMonth(DateTime)

Retorna o mês na DateTime especificada.

GetMonthsInYear(Int32)

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

(Herdado de Calendar)
GetMonthsInYear(Int32, Int32)

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

GetSecond(DateTime)

Retorna o valor de segundos no DateTime especificado.

(Herdado de Calendar)
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 objeto DateTime especificado.

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

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

(Herdado de Calendar)
GetYear(DateTime)

Retorna o ano no DateTime especificado.

IsLeapDay(Int32, Int32, Int32)

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

(Herdado de Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

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.

(Herdado de Calendar)
IsLeapMonth(Int32, Int32, Int32)

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.

(Herdado de Calendar)
IsLeapYear(Int32, Int32)

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

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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

(Herdado de Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

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