Sdílet prostřednictvím


Calendar Třída

Definice

Představuje čas v divizích, jako jsou týdny, měsíce a roky.

public ref class Calendar abstract
public ref class Calendar abstract : ICloneable
public abstract class Calendar
public abstract class Calendar : ICloneable
[System.Serializable]
public abstract class Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Calendar : ICloneable
type Calendar = class
type Calendar = class
    interface ICloneable
[<System.Serializable>]
type Calendar = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Calendar = class
    interface ICloneable
Public MustInherit Class Calendar
Public MustInherit Class Calendar
Implements ICloneable
Dědičnost
Calendar
Odvozené
Atributy
Implementuje

Příklady

Následující příklad kódu ukazuje členy Calendar třídy.

using namespace System;
using namespace System::Globalization;
void DisplayValues( Calendar^ myCal, DateTime myDT )
{
   Console::WriteLine( "   Era: {0}", myCal->GetEra( myDT ) );
   Console::WriteLine( "   Year: {0}", myCal->GetYear( myDT ) );
   Console::WriteLine( "   Month: {0}", myCal->GetMonth( myDT ) );
   Console::WriteLine( "   DayOfYear: {0}", myCal->GetDayOfYear( myDT ) );
   Console::WriteLine( "   DayOfMonth: {0}", myCal->GetDayOfMonth( myDT ) );
   Console::WriteLine( "   DayOfWeek: {0}", myCal->GetDayOfWeek( myDT ) );
   Console::WriteLine( "   Hour: {0}", myCal->GetHour( myDT ) );
   Console::WriteLine( "   Minute: {0}", myCal->GetMinute( myDT ) );
   Console::WriteLine( "   Second: {0}", myCal->GetSecond( myDT ) );
   Console::WriteLine( "   Milliseconds: {0}", myCal->GetMilliseconds( myDT ) );
   Console::WriteLine();
}

int main()
{
   
   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
   
   // Uses the default calendar of the InvariantCulture.
   Calendar^ myCal = CultureInfo::InvariantCulture->Calendar;
   
   // Displays the values of the DateTime.
   Console::WriteLine( "April 3, 2002 of the Gregorian calendar:" );
   DisplayValues( myCal, myDT );
   
   // Adds 5 to every component of the DateTime.
   myDT = myCal->AddYears( myDT, 5 );
   myDT = myCal->AddMonths( myDT, 5 );
   myDT = myCal->AddWeeks( myDT, 5 );
   myDT = myCal->AddDays( myDT, 5 );
   myDT = myCal->AddHours( myDT, 5 );
   myDT = myCal->AddMinutes( myDT, 5 );
   myDT = myCal->AddSeconds( myDT, 5 );
   myDT = myCal->AddMilliseconds( myDT, 5 );
   
   // Displays the values of the DateTime.
   Console::WriteLine( "After adding 5 to each component of the DateTime:" );
   DisplayValues( myCal, myDT );
}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar:
Era:          1
Year:         2002
Month:        4
DayOfYear:    93
DayOfMonth:   3
DayOfWeek:    Wednesday
Hour:         0
Minute:       0
Second:       0
Milliseconds: 0

After adding 5 to each component of the DateTime:
Era:          1
Year:         2007
Month:        10
DayOfYear:    286
DayOfMonth:   13
DayOfWeek:    Saturday
Hour:         5
Minute:       5
Second:       5
Milliseconds: 5

*/
using System;
using System.Globalization;

public class SamplesCalendar  {

   public static void Main()  {

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );

      // Uses the default calendar of the InvariantCulture.
      Calendar myCal = CultureInfo.InvariantCulture.Calendar;

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
      DisplayValues( myCal, myDT );

      // Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears( myDT, 5 );
      myDT = myCal.AddMonths( myDT, 5 );
      myDT = myCal.AddWeeks( myDT, 5 );
      myDT = myCal.AddDays( myDT, 5 );
      myDT = myCal.AddHours( myDT, 5 );
      myDT = myCal.AddMinutes( myDT, 5 );
      myDT = myCal.AddSeconds( myDT, 5 );
      myDT = myCal.AddMilliseconds( myDT, 5 );

      // Displays the values of the DateTime.
      Console.WriteLine( "After adding 5 to each component of the DateTime:" );
      DisplayValues( myCal, myDT );
   }

   public static void DisplayValues( Calendar myCal, DateTime myDT )  {
      Console.WriteLine( "   Era:          {0}", myCal.GetEra( myDT ) );
      Console.WriteLine( "   Year:         {0}", myCal.GetYear( myDT ) );
      Console.WriteLine( "   Month:        {0}", myCal.GetMonth( myDT ) );
      Console.WriteLine( "   DayOfYear:    {0}", myCal.GetDayOfYear( myDT ) );
      Console.WriteLine( "   DayOfMonth:   {0}", myCal.GetDayOfMonth( myDT ) );
      Console.WriteLine( "   DayOfWeek:    {0}", myCal.GetDayOfWeek( myDT ) );
      Console.WriteLine( "   Hour:         {0}", myCal.GetHour( myDT ) );
      Console.WriteLine( "   Minute:       {0}", myCal.GetMinute( myDT ) );
      Console.WriteLine( "   Second:       {0}", myCal.GetSecond( myDT ) );
      Console.WriteLine( "   Milliseconds: {0}", myCal.GetMilliseconds( myDT ) );
      Console.WriteLine();
   }
}


/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar:
   Era:          1
   Year:         2002
   Month:        4
   DayOfYear:    93
   DayOfMonth:   3
   DayOfWeek:    Wednesday
   Hour:         0
   Minute:       0
   Second:       0
   Milliseconds: 0

After adding 5 to each component of the DateTime:
   Era:          1
   Year:         2007
   Month:        10
   DayOfYear:    286
   DayOfMonth:   13
   DayOfWeek:    Saturday
   Hour:         5
   Minute:       5
   Second:       5
   Milliseconds: 5

*/
Imports System.Globalization


Public Class SamplesCalendar   

   Public Shared Sub Main()

      ' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())

      ' Uses the default calendar of the InvariantCulture.
      Dim myCal As Calendar = CultureInfo.InvariantCulture.Calendar

      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar:")
      DisplayValues(myCal, myDT)

      ' Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears(myDT, 5)
      myDT = myCal.AddMonths(myDT, 5)
      myDT = myCal.AddWeeks(myDT, 5)
      myDT = myCal.AddDays(myDT, 5)
      myDT = myCal.AddHours(myDT, 5)
      myDT = myCal.AddMinutes(myDT, 5)
      myDT = myCal.AddSeconds(myDT, 5)
      myDT = myCal.AddMilliseconds(myDT, 5)

      ' Displays the values of the DateTime.
      Console.WriteLine("After adding 5 to each component of the DateTime:")
      DisplayValues(myCal, myDT)

   End Sub

   Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
      Console.WriteLine("   Era:          {0}", myCal.GetEra(myDT))
      Console.WriteLine("   Year:         {0}", myCal.GetYear(myDT))
      Console.WriteLine("   Month:        {0}", myCal.GetMonth(myDT))
      Console.WriteLine("   DayOfYear:    {0}", myCal.GetDayOfYear(myDT))
      Console.WriteLine("   DayOfMonth:   {0}", myCal.GetDayOfMonth(myDT))
      Console.WriteLine("   DayOfWeek:    {0}", myCal.GetDayOfWeek(myDT))
      Console.WriteLine("   Hour:         {0}", myCal.GetHour(myDT))
      Console.WriteLine("   Minute:       {0}", myCal.GetMinute(myDT))
      Console.WriteLine("   Second:       {0}", myCal.GetSecond(myDT))
      Console.WriteLine("   Milliseconds: {0}", myCal.GetMilliseconds(myDT))
      Console.WriteLine()
   End Sub

End Class


'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar:
'   Era:          1
'   Year:         2002
'   Month:        4
'   DayOfYear:    93
'   DayOfMonth:   3
'   DayOfWeek:    Wednesday
'   Hour:         0
'   Minute:       0
'   Second:       0
'   Milliseconds: 0
'
'After adding 5 to each component of the DateTime:
'   Era:          1
'   Year:         2007
'   Month:        10
'   DayOfYear:    286
'   DayOfMonth:   13
'   DayOfWeek:    Saturday
'   Hour:         5
'   Minute:       5
'   Second:       5
'   Milliseconds: 5

Poznámky

Kalendář rozděluje čas na jednotky, jako jsou týdny, měsíce a roky. Počet, délka a začátek dělení se v každém kalendáři liší.

Poznámka

Informace o používání tříd kalendáře v .NET najdete v tématu Práce s kalendáři.

Každý okamžik v čase může být reprezentován jako sada číselných hodnot pomocí určitého kalendáře. Například k rovnodennosti v gregoriánském kalendáři došlo v (1999, 3, 20, 8, 46, 0, 0,0) v gregoriánském kalendáři, tj. 20. března 1999 c.E. v 8:46:00:0.0. Implementace Calendar může mapovat libovolné datum v rozsahu konkrétního kalendáře na podobnou množinu číselných hodnot a DateTime může mapovat tyto sady číselných hodnot na textové vyjádření pomocí informací z Calendar a DateTimeFormatInfo. Textová reprezentace může být citlivá na jazykovou verzi, například "8:46 AM 20th 1999 AD" pro jazykovou verzi en-US nebo jazyková verze necitlivá, například "1999-03-20T08:46:00" ve formátu ISO 8601.

Implementace Calendar může definovat jednu nebo více ér. Třída Calendar identifikuje éry jako výčet celých čísel, kde aktuální éra (CurrentEra) má hodnotu 0.

Důležité

Éry v japonských kalendářích jsou založeny na vládě císaře, a proto se očekává, že se změní. Například 1. květen 2019 označil začátek éry Reiwa v JapaneseCalendar éře a JapaneseLunisolarCalendar. Taková změna éry ovlivní všechny aplikace, které tyto kalendáře používají. Další informace a informace o tom, jestli jsou vaše aplikace ovlivněné, najdete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows pro zajištění jejich připravenosti na změnu éry najdete v tématu Příprava aplikace na změnu japonské éry. Informace o funkcích v .NET, které podporují kalendáře s více érami, a osvědčené postupy při práci s kalendáři, které podporují více ér, najdete v tématu Práce s érami.

Aby se vynastavil rozdíl mezi kalendářním rokem a skutečným časem, kdy se Země otáčí kolem Slunce, nebo skutečným časem, kdy se Měsíc otáčí kolem Země, má přestupný rok jiný počet dní než standardní kalendářní rok. Každá Calendar implementace definuje přestupné roky odlišně.

Pro zajištění konzistence je první jednotce v každém intervalu (například v prvním měsíci) přiřazena hodnota 1.

Obor System.Globalization názvů zahrnuje následující Calendar implementace:

Konstruktory

Calendar()

Inicializuje novou instanci Calendar třídy.

Pole

CurrentEra

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

Vlastnosti

AlgorithmType

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

DaysInYearBeforeMinSupportedYear

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

Eras

Při přepsání v odvozené třídě získá seznam ér v aktuálním kalendáři.

IsReadOnly

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

MaxSupportedDateTime

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

MinSupportedDateTime

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

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 .

AddHours(DateTime, Int32)

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

AddMilliseconds(DateTime, Double)

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

AddMinutes(DateTime, Int32)

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

AddMonths(DateTime, Int32)

Při přepsání v odvozené třídě vrátí DateTime hodnotu, která je zadaný počet měsíců od zadané DateTimetřídy .

AddSeconds(DateTime, Int32)

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

AddWeeks(DateTime, Int32)

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

AddYears(DateTime, Int32)

Při přepsání v odvozené třídě vrátí DateTime hodnotu, která je zadaný počet roků od zadané DateTimetřídy .

Clone()

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

Equals(Object)

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

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

Při přepsání v odvozené třídě vrátí den v měsíci v zadané DateTime.

GetDayOfWeek(DateTime)

Při přepsání v odvozené třídě vrátí den v týdnu v zadané DateTime.

GetDayOfYear(DateTime)

Při přepsání v odvozené třídě vrátí den v roce v zadaném DateTimeobjektu .

GetDaysInMonth(Int32, Int32)

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

GetDaysInMonth(Int32, Int32, Int32)

Při přepsání v odvozené třídě vrátí počet dní v zadaném měsíci, roce a éře.

GetDaysInYear(Int32)

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

GetDaysInYear(Int32, Int32)

Při přepsání v odvozené třídě vrátí počet dní v zadaném roce a éře.

GetEra(DateTime)

Při přepsání v odvozené třídě vrátí éru zadaného DateTimeobjektu .

GetHashCode()

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

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

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

GetLeapMonth(Int32)

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

GetLeapMonth(Int32, Int32)

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

GetMilliseconds(DateTime)

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

GetMinute(DateTime)

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

GetMonth(DateTime)

Při přepsání v odvozené třídě vrátí měsíc v zadané DateTime.

GetMonthsInYear(Int32)

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

GetMonthsInYear(Int32, Int32)

Při přepsání v odvozené třídě vrátí počet měsíců v zadaném roce v zadané éře.

GetSecond(DateTime)

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

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é DateTime hodnotě.

GetYear(DateTime)

Při přepsání v odvozené třídě vrátí rok v zadané DateTime.

IsLeapDay(Int32, Int32, Int32)

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

IsLeapDay(Int32, Int32, Int32, Int32)

Při přepsání v odvozené třídě 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.

IsLeapMonth(Int32, Int32, Int32)

Při přepsání v odvozené třídě 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.

IsLeapYear(Int32, Int32)

Při přepsání v odvozené třídě 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)
ReadOnly(Calendar)

Vrátí verzi určeného Calendar objektu jen pro čtení.

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

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

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

Při přepsání v odvozené třídě vrátí DateTime 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é