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 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 naleznete 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é roky. Například rok 1900 nebyl přestupný rok, ale rok 2000 byl. Běžný rok má 365 dní a přestupný rok má 366 dní.

Gregoriánský kalendář má 12 měsíců s 28 až 31 dny každý: leden (31 dní), únor (28 nebo 29 dní), březen (31 dní), duben (30 dní), květen (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í během přestupových let a 28 v běžných letech.

Důležité

Ve výchozím nastavení gregoriánský kalendář vyjadřují všechna DateTimeDateTimeOffset data a časy a hodnoty.

Gregoriánský kalendář byl vyvinut jako náhrada za Julian kalendář (který je reprezentován JulianCalendar třídou) a byl poprvé představen 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 jazykové verze, byste měli použít původní kalendář, pokud je dostupný v rozhraní .NET Framework. Například Dánsko se změnilo z julianského kalendáře na gregoriánský kalendář 19. února (v julianském kalendáři) nebo 1. března (v gregoriánském kalendáři) roku 1700. V tomto případě pro data před přijetím gregoriánského kalendáře byste měli použít Julian kalendář. Mějte však na paměti, že žádná jazyková verze nenabízí vnitřní podporu třídy JulianCalendar . 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. února 1700 v juliánském kalendáři, což je poslední den, kdy byl Julian kalendář oficiálně použit v Dánsku, je jeden den dřívější než 1. března 1700 v gregoriánském kalendáři.

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ář jazykové verze a OptionalCalendars vlastnost vrátí pole obsahující všechny kalendáře podporované jazykovou verzí. Chcete-li změnit kalendář používaný aplikací CultureInfo, může aplikace nastavit Calendar vlastnost na nový Calendar.

GetEra ignoruje interpunkci v zkrácených názvech era, pouze pokud GregorianCalendar je vybraná v DateTimeFormatInfo.Calendar a jazyková verze používá jako název éry "A.D", tj. "A.D", je ekvivalentem "AD".

Konstruktory

Name Description
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

Name Description
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

Name Description
AlgorithmType

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

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í rok, který je určen vlastností MinSupportedDateTime .

(Zděděno od Calendar)
Eras

Získá seznam období v GregorianCalendar.

IsReadOnly

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

(Zděděno od Calendar)
MaxSupportedDateTime

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

MinSupportedDateTime

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

TwoDigitYearMax

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

Metody

Name Description
AddDays(DateTime, Int32)

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

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

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

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

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

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

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

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

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

AddSeconds(DateTime, Int32)

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

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

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

AddWeeks(DateTime, Int32)

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

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

DateTime Vrátí zadaný počet let od zadaného DateTime.

Clone()

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

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

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

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

GetDayOfWeek(DateTime)

Vrátí den v týdnu v zadaném DateTime.

GetDayOfYear(DateTime)

Vrátí den v roce v zadaném DateTime.

GetDaysInMonth(Int32, Int32, Int32)

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

GetDaysInMonth(Int32, Int32)

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

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

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

GetDaysInYear(Int32)

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

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

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

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

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

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

GetLeapMonth(Int32)

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

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

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

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

Vrátí hodnotu minut v zadaném DateTimeargumentu .

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

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

GetMonthsInYear(Int32, Int32)

Vrátí početměsícůch

GetMonthsInYear(Int32)

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

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

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

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

Získá Type aktuální instance.

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

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

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

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

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

Vrátí rok v zadaném DateTimeparametru .

IsLeapDay(Int32, Int32, Int32, Int32)

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

IsLeapDay(Int32, Int32, Int32)

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

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

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)
IsLeapYear(Int32, Int32)

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

IsLeapYear(Int32)

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

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

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

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

Vrátí hodnotu nastavenou DateTime na zadané datum a čas v zadané éře.

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

Vrátí hodnotu nastavenou DateTime na zadané datum a čas v aktuální éře.

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

Převede zadaný rok na čtyřciferný 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é