GregorianCalendar Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 |
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) |