Compartilhar via


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 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 Como trabalhar com calendários.

Um ano bissexto no calendário gregoriano é definido como um ano que é uniformemente divisível por 4, a menos que seja divisível por 100. No entanto, anos que são 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 (30 dias)1 dias), 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 DateTime e DateTimeOffset valores 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 uma nova Calendar.

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

Construtores

Nome Description
GregorianCalendar()

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

GregorianCalendar(GregorianCalendarTypes)

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

Campos

Nome Description
ADEra

Representa a era atual. Esse campo é constante.

CurrentEra

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

(Herdado de Calendar)

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.

CalendarType

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

DaysInYearBeforeMinSupportedYear

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

(Herdado de Calendar)
Eras

Obtém a lista de eras no GregorianCalendar.

IsReadOnly

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

(Herdado de Calendar)
MaxSupportedDateTime

Obtém a data e a hora mais recentes compatíveis com o GregorianCalendar tipo.

MinSupportedDateTime

Obtém a data e a hora mais antigas compatíveis com o GregorianCalendar tipo.

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.

(Herdado de Calendar)
AddHours(DateTime, Int32)

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

(Herdado de Calendar)
AddMilliseconds(DateTime, Double)

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

(Herdado de Calendar)
AddMinutes(DateTime, Int32)

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

(Herdado de Calendar)
AddMonths(DateTime, Int32)

Retorna um DateTime que é o 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.

(Herdado de Calendar)
AddWeeks(DateTime, Int32)

Retorna um DateTime que é o número especificado de semanas 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.

(Herdado de Calendar)
AddYears(DateTime, Int32)

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

Clone()

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

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

GetDayOfWeek(DateTime)

Retorna o dia da semana no especificado DateTime.

GetDayOfYear(DateTime)

Retorna o dia do ano no especificado DateTime.

GetDaysInMonth(Int32, Int32, Int32)

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

GetDaysInMonth(Int32, Int32)

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

(Herdado de Calendar)
GetDaysInYear(Int32, Int32)

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

GetDaysInYear(Int32)

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

(Herdado de Calendar)
GetEra(DateTime)

Retorna a era na especificada DateTime.

GetHashCode()

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

(Herdado de Object)
GetHour(DateTime)

Retorna o valor de horas no especificado DateTime.

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

(Herdado de Calendar)
GetMilliseconds(DateTime)

Retorna o valor de milissegundos no especificado DateTime.

(Herdado de Calendar)
GetMinute(DateTime)

Retorna o valor de minutos no valor especificado DateTime.

(Herdado de Calendar)
GetMonth(DateTime)

Retorna o mês no especificado DateTime.

GetMonthsInYear(Int32, Int32)

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.

(Herdado de Calendar)
GetSecond(DateTime)

Retorna o valor de segundos no valor especificado DateTime.

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

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

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

(Herdado de Calendar)
GetYear(DateTime)

Retorna o ano no especificado DateTime.

IsLeapDay(Int32, Int32, Int32, Int32)

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.

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

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.

(Herdado de Calendar)
IsLeapYear(Int32, Int32)

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

IsLeapYear(Int32)

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

(Herdado de Calendar)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

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

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.

(Herdado de Calendar)
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