Sdílet prostřednictvím


GregorianCalendar Třída

Definice

Představuje gregoriánský kalendář.

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
Dědičnost
GregorianCalendar
Atributy

Příklady

Následující příklad kódu ukazuje, že DateTimeFormatInfo ignoruje interpunkci v názvu éry, pouze pokud je kalendář gregoriánský a jazyková verze používá název éry "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

Poznámky

Gregoriánský kalendář rozpoznává dvě éry: B.C. nebo B.C.E. a A.D. nebo C.E. Tato implementace GregorianCalendar třídy rozpoznává pouze aktuální éru (A.D. nebo C.E.).

Poznámka

Informace o používání GregorianCalendar třídy a dalších tříd kalendáře v rozhraní .NET Framework najdete v tématu Práce s kalendáři.

Přestupný rok v gregoriánském kalendáři je definován jako rok, který je rovnoměrně dělitelný 4, pokud není dělitelný 100. Roky, které jsou dělitelné 400, jsou však přestupnými roky. Například rok 1900 nebyl přestupný rok, ale rok 2000 byl. Běžný rok má 365 dní a přestupný rok 366 dní.

Gregoriánský kalendář má 12 měsíců s 28 až 31 dny: leden (31 dní), únor (28 nebo 29 dní), březen (31 dní), duben (30 dní), květen (31 dní), červen (30 dní), červenec (31 dní), srpen (31 dní), září (30 dní), říjen (31 dní), listopad (30 dní) a prosinec (31 dní). Únor má 29 dní v přestupných letech a 28 v běžných letech.

Důležité

Ve výchozím nastavení všechny DateTime hodnoty a DateTimeOffset vyjadřují data a časy v gregoriánském kalendáři.

Gregoriánský kalendář byl vyvinut jako náhrada za juliánský kalendář (který je reprezentován JulianCalendar třídou) a byl poprvé zaveden v malém počtu kultur 15. října 1582. Při práci s historickými daty, která předchází přijetí gregoriánského kalendáře jazykovou verzí, byste měli použít původní kalendář, pokud je k dispozici v rozhraní .NET Framework. Dánsko se například změnilo z juliánského kalendáře na gregoriánský kalendář 19. února (v juliánském kalendáři) nebo 1. března (v gregoriánském kalendáři) z roku 1700. V tomto případě byste pro data před přijetím gregoriánského kalendáře měli použít juliánský kalendář. Všimněte si však, že žádná jazyková verze nenabízí vnitřní podporu pro JulianCalendar třídu. Třídu musíte použít JulianCalendar jako samostatný kalendář. Další informace najdete v tématu Práce s kalendáři.

Následující příklad ukazuje, že 18. únor 1700 v juliánském kalendáři, což je poslední den, kdy byl juliánský kalendář oficiálně použit v Dánsku, je v gregoriánském kalendáři o den starší než 1. března 1700.

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

Každý z nich CultureInfo podporuje sadu kalendářů. Vlastnost Calendar vrátí výchozí kalendář pro jazykovou verzi a OptionalCalendars vlastnost vrátí pole obsahující všechny kalendáře podporované jazykovou verzí. Chcete-li změnit kalendář používaný objektem CultureInfo, může aplikace nastavit Calendar vlastnost na novou Calendar.

GetEra ignoruje interpunkci ve zkrácených názvech ér, pouze pokud GregorianCalendar je v poli vybraná DateTimeFormatInfo.Calendar jazyková verze a jazyková verze používá "A.D.", protože název éry je ekvivalentní "AD".

Konstruktory

GregorianCalendar()

Inicializuje novou instanci GregorianCalendar třídy pomocí výchozí GregorianCalendarTypes hodnoty.

GregorianCalendar(GregorianCalendarTypes)

Inicializuje novou instanci GregorianCalendar třídy pomocí zadané GregorianCalendarTypes hodnoty.

Pole

ADEra

Představuje aktuální éru. Toto pole je konstantní.

CurrentEra

Představuje aktuální éru aktuálního kalendáře. Hodnota tohoto pole je 0.

(Zděděno od Calendar)

Vlastnosti

AlgorithmType

Získá hodnotu, která označuje, zda aktuální kalendář je solární, lunární nebo kombinace obou.

AlgorithmType

Získá hodnotu označující, zda aktuální kalendář je solární, lunární nebo kombinace obou.

(Zděděno od Calendar)
CalendarType

Získá nebo nastaví GregorianCalendarTypes hodnotu, která označuje jazyk verzi aktuálního GregorianCalendar.

DaysInYearBeforeMinSupportedYear

Získá počet dní v roce, který předchází roku, který je určen MinSupportedDateTime vlastností.

(Zděděno od Calendar)
Eras

Získá seznam ér v .GregorianCalendar

IsReadOnly

Získá hodnotu označující, zda je tento Calendar objekt jen pro čtení.

(Zděděno od Calendar)
MaxSupportedDateTime

Získá nejnovější datum a čas podporovaný typem GregorianCalendar .

MaxSupportedDateTime

Získá nejnovější datum a čas podporovaný tímto Calendar objektem.

(Zděděno od Calendar)
MinSupportedDateTime

Získá nejstarší datum a čas podporovaný typem GregorianCalendar .

MinSupportedDateTime

Získá nejstarší datum a čas podporovaný tímto Calendar objektem.

(Zděděno od Calendar)
TwoDigitYearMax

Získá nebo nastaví poslední rok 100letého rozsahu, který může být reprezentován 2místným rokem.

Metody

AddDays(DateTime, Int32)

Vrátí hodnotu DateTime , která je zadaný počet dnů od zadaného DateTimeparametru .

(Zděděno od Calendar)
AddHours(DateTime, Int32)

DateTime Vrátí hodnotu, která je zadaný počet hodin od zadaného DateTimeparametru .

(Zděděno od Calendar)
AddMilliseconds(DateTime, Double)

Vrátí hodnotu DateTime , která je zadaný počet milisekund od zadaného DateTimeparametru .

(Zděděno od Calendar)
AddMinutes(DateTime, Int32)

Vrátí hodnotu DateTime , která je zadaný počet minut od zadaného DateTimeparametru .

(Zděděno od Calendar)
AddMonths(DateTime, Int32)

Vrátí hodnotu DateTime , která je zadaný počet měsíců od zadaného DateTimeparametru .

AddSeconds(DateTime, Int32)

DateTime Vrátí hodnotu, která je zadaný počet sekund od zadaného DateTimeparametru .

(Zděděno od Calendar)
AddWeeks(DateTime, Int32)

DateTime Vrátí hodnotu, která je zadaný počet týdnů od zadaného DateTimeparametru .

AddWeeks(DateTime, Int32)

DateTime Vrátí hodnotu, která je zadaný počet týdnů od zadaného DateTimeparametru .

(Zděděno od Calendar)
AddYears(DateTime, Int32)

DateTime Vrátí hodnotu, která je zadaný počet roků od zadaného DateTime.

Clone()

Vytvoří nový objekt, který je kopií aktuálního Calendar objektu.

(Zděděno od Calendar)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetDayOfMonth(DateTime)

Vrátí den v měsíci v zadané DateTimehodnotě .

GetDayOfWeek(DateTime)

Vrátí den v týdnu v zadané DateTimehodnotě .

GetDayOfYear(DateTime)

Vrátí den v roce v zadané DateTimehodnotě .

GetDaysInMonth(Int32, Int32)

Vrátí počet dní v zadaném měsíci a roce aktuální éry.

(Zděděno od Calendar)
GetDaysInMonth(Int32, Int32, Int32)

Vrátí počet dní v zadaném měsíci v zadaném roce v zadané éře.

GetDaysInYear(Int32)

Vrátí počet dní v zadaném roce aktuální éry.

(Zděděno od Calendar)
GetDaysInYear(Int32, Int32)

Vrátí počet dní v zadaném roce v zadané éře.

GetEra(DateTime)

Vrátí éru v zadaném DateTimeparametru .

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetHour(DateTime)

Vrátí hodnotu hodin v zadané DateTimehodnotě .

(Zděděno od Calendar)
GetLeapMonth(Int32)

Vypočítá přestupný měsíc pro zadaný rok.

(Zděděno od Calendar)
GetLeapMonth(Int32, Int32)

Vypočítá přestupný měsíc pro zadaný rok a éru.

GetLeapMonth(Int32, Int32)

Vypočítá přestupný měsíc pro zadaný rok a éru.

(Zděděno od Calendar)
GetMilliseconds(DateTime)

Vrátí hodnotu milisekund v zadané DateTimehodnotě .

(Zděděno od Calendar)
GetMinute(DateTime)

Vrátí hodnotu minutes v zadané DateTimehodnotě .

(Zděděno od Calendar)
GetMonth(DateTime)

Vrátí měsíc v zadaném .DateTime

GetMonthsInYear(Int32)

Vrátí počet měsíců v zadaném roce v aktuální éře.

(Zděděno od Calendar)
GetMonthsInYear(Int32, Int32)

Vrátí počet měsíců v zadaném roce v zadané éře.

GetSecond(DateTime)

Vrátí hodnotu sekund v zadané DateTimehodnotě .

(Zděděno od Calendar)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Vrátí týden v roce, který zahrnuje datum v zadaném DateTime objektu.

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Vrátí týden v roce, který zahrnuje datum v zadané DateTime hodnotě.

(Zděděno od Calendar)
GetYear(DateTime)

Vrátí rok v zadaném .DateTime

IsLeapDay(Int32, Int32, Int32)

Určuje, zda zadané datum v aktuální éře je přestupný den.

(Zděděno od Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

Určuje, zda zadané datum v zadané éře je přestupný den.

IsLeapMonth(Int32, Int32)

Určuje, zda zadaný měsíc v zadaném roce v aktuální éře je přestupný měsíc.

(Zděděno od Calendar)
IsLeapMonth(Int32, Int32, Int32)

Určuje, zda zadaný měsíc v zadaném roce v zadané éře je přestupný měsíc.

IsLeapYear(Int32)

Určuje, zda zadaný rok v aktuální éře je přestupný rok.

(Zděděno od Calendar)
IsLeapYear(Int32, Int32)

Určuje, zda zadaný rok v zadané éře je přestupný rok.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

DateTime Vrátí hodnotu, která je nastavena na zadané datum a čas v aktuální éře.

(Zděděno od Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

DateTime Vrátí hodnotu, která je nastavena na zadané datum a čas v zadané éře.

ToFourDigitYear(Int32)

Převede zadaný rok na čtyřmístný rok pomocí TwoDigitYearMax vlastnosti k určení příslušného století.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také