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

Observações

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

Note

Para informações sobre a utilização da classe GregorianCalendar e das outras classes de calendário no .NET Framework, veja Trabalhar com Calendários.

Um ano bissexto no calendário gregoriano é definido como um ano que é divisível igualmente por 4, a menos que seja divisível por 100. No entanto, anos que são divisíveis por 400 são anos bissextos. Por exemplo, o ano de 1900 não foi um ano bissexto, mas o ano de 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 (31 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 nos anos comuns.

Importante

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

O calendário gregoriano foi desenvolvido como substituto do calendário juliano (que é representado pela JulianCalendar classe) e foi introduzido pela primeira vez num pequeno número de culturas a 15 de outubro de 1582. Ao trabalhar com datas históricas que precedem a adoção do calendário gregoriano por uma cultura, deve usar o calendário original se este estiver disponível na Framework .NET. Por exemplo, a Dinamarca mudou do calendário juliano para o gregoriano a 19 de fevereiro (no calendário juliano) ou a 1 de março (no calendário gregoriano) de 1700. Neste caso, para datas anteriores à adoção do calendário gregoriano, deve usar o calendário juliano. No entanto, nota que nenhuma cultura oferece suporte intrínseco para a JulianCalendar turma. Deves usar a JulianCalendar aula como um calendário autónomo. Para obter mais informações, consulte Trabalhando com calendários.

O exemplo seguinte ilustra que 18 de fevereiro de 1700 no calendário juliano, que é o último dia em que o calendário juliano foi oficialmente utilizado na Dinamarca, é um dia anterior a 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 um CultureInfo suporta um conjunto de calendários. A Calendar propriedade devolve o calendário padrão da cultura, e a OptionalCalendars propriedade devolve um array contendo todos os calendários suportados pela cultura. Para alterar o calendário usado por um CultureInfo, a aplicação pode definir a Calendar propriedade para um novo Calendar.

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

Construtores

Name 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

Name Description
ADEra

Representa a era atual. Este campo é constante.

CurrentEra

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

(Herdado de Calendar)

Propriedades

Name Description
AlgorithmType

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

CalendarType

Obtém ou define o GregorianCalendarTypes valor que denota a versão linguística do atual GregorianCalendar.

DaysInYearBeforeMinSupportedYear

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

(Herdado de Calendar)
Eras

Obtém a lista de eras no GregorianCalendar.

IsReadOnly

Recebe um valor que indica se este Calendar objeto é apenas de leitura.

(Herdado de Calendar)
MaxSupportedDateTime

Recebe a data e hora mais recentes apoiadas pelo GregorianCalendar tipo.

MinSupportedDateTime

Obtém a data e hora mais antigas apoiadas pelo 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

Name Description
AddDays(DateTime, Int32)

Devolve um DateTime que é o número de dias especificado a partir do especificado DateTime.

(Herdado de Calendar)
AddHours(DateTime, Int32)

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

(Herdado de Calendar)
AddMilliseconds(DateTime, Double)

Devolve a DateTime que é o número especificado de milissegundos do especificado DateTime.

(Herdado de Calendar)
AddMinutes(DateTime, Int32)

Devolve a DateTime que é o número especificado de minutos do especificado DateTime.

(Herdado de Calendar)
AddMonths(DateTime, Int32)

Devolve um DateTime que é o número de meses especificado a partir do especificado DateTime.

AddSeconds(DateTime, Int32)

Retorna a DateTime que é o número especificado de segundos a partir do especificado DateTime.

(Herdado de Calendar)
AddWeeks(DateTime, Int32)

Devolve um DateTime que é o número especificado de semanas a partir do especificado DateTime.

AddWeeks(DateTime, Int32)

Devolve um DateTime que é o número especificado de semanas a partir do especificado DateTime.

(Herdado de Calendar)
AddYears(DateTime, Int32)

Devolve um DateTime que é o número de anos especificado a partir 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)

Devolve no dia do mês no especificado DateTime.

GetDayOfWeek(DateTime)

Devolve no dia da semana no especificado DateTime.

GetDayOfYear(DateTime)

Devolve o dia do ano no especificado DateTime.

GetDaysInMonth(Int32, Int32, Int32)

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

GetDaysInMonth(Int32, Int32)

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

(Herdado de Calendar)
GetDaysInYear(Int32, Int32)

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

GetDaysInYear(Int32)

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

(Herdado de Calendar)
GetEra(DateTime)

Devolve a era no especificado DateTime.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetHour(DateTime)

Devolve o valor das horas no especificado DateTime.

(Herdado de Calendar)
GetLeapMonth(Int32, Int32)

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

GetLeapMonth(Int32)

Calcula o mês bissexto para um ano especificado.

(Herdado de Calendar)
GetMilliseconds(DateTime)

Devolve o valor de milissegundos no especificado DateTime.

(Herdado de Calendar)
GetMinute(DateTime)

Devolve o valor dos minutos no especificado DateTime.

(Herdado de Calendar)
GetMonth(DateTime)

Devolve no mês especificado DateTime.

GetMonthsInYear(Int32, Int32)

Devolve o número de meses do ano especificado na era especificada.

GetMonthsInYear(Int32)

Devolve o número de meses do ano especificado na era atual.

(Herdado de Calendar)
GetSecond(DateTime)

Devolve o valor dos segundos no especificado DateTime.

(Herdado de Calendar)
GetType()

Obtém o Type da instância atual.

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

Devolve a semana do ano que inclui a data no objeto especificado DateTime .

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

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

(Herdado de Calendar)
GetYear(DateTime)

Devolve 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 atual Object.

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

Devolve a DateTime que está definido para a data e hora especificadas na era especificada.

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

Devolve a DateTime que está definido para a data e hora especificadas na era atual.

(Herdado de Calendar)
ToFourDigitYear(Int32)

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

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também