Calendar Třída

Definice

Představuje čas v dělení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 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 jednotlivých kalendářích liší.

Note

Informace o používání tříd kalendáře v .NET najdete v tématu Working with Calendars.

Libovolný okamžik v čase lze reprezentovat jako sadu číselných hodnot pomocí určitého kalendáře. Například ve gregoriánském kalendáři došlo k 20. březnu 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 určitého kalendáře na podobnou sadu číselných hodnot a DateTime může tyto sady číselných hodnot mapovat na textovou reprezentaci pomocí informací z Calendar a DateTimeFormatInfo. Textová reprezentace může být citlivá na jazykovou verzi, například "8:46 Březen 20. března 1999 AD" pro jazykovou verzi en-US nebo nerozlišující jazykovou verzi, například "1999-03-20T08:46:00" ve formátu ISO 8601.

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

Important

É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ětna 2019 označilo začátek období Reiwa v JapaneseCalendar a JapaneseLunisolarCalendar. Taková změna éry ovlivňuje všechny aplikace, které tyto kalendáře používají. Další informace a určení, zda jsou ovlivněny vaše aplikace, naleznete v tématu Zpracování nové éry v japonském kalendáři v .NET. Informace o testování aplikací v systémech Windows za účelem zajištění připravenosti na změnu v éře najdete v tématu Příprava aplikace na změnu japonské éry. Funkce v .NET, které podporují kalendáře s více obdobími a osvědčené postupy při práci s kalendáři, které podporují více období, najdete v tématu Práce s obdobími.

Aby byl rozdíl mezi kalendářním rokem a skutečným časem, který země otočí kolem slunce, nebo skutečným časem, který měsíc otočí po zemi, má přestupný rok jiný počet dnů od standardního kalendářního roku. Každá Calendar implementace definuje přestupné roky jinak.

Pro konzistenci je první jednotka v každém intervalu (například první měsíc) přiřazena hodnota 1.

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

Konstruktory

Name Description
Calendar()

Inicializuje novou instanci Calendar třídy.

Pole

Name Description
CurrentEra

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

Vlastnosti

Name Description
AlgorithmType

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

DaysInYearBeforeMinSupportedYear

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

Eras

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

IsReadOnly

Získá hodnotu určující, zda tento Calendar objekt je 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 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 .

AddHours(DateTime, Int32)

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

AddMilliseconds(DateTime, Double)

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

AddMinutes(DateTime, Int32)

Vrátí zadaný DateTime 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ého DateTime.

AddSeconds(DateTime, Int32)

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

AddWeeks(DateTime, Int32)

DateTime Vrátí 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 let od zadaného DateTime.

Clone()

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

Equals(Object)

Určuje, zda je zadaný objekt roven 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ém DateTime.

GetDayOfWeek(DateTime)

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

GetDayOfYear(DateTime)

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

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.

GetDaysInMonth(Int32, Int32)

Vrátí počet dní v zadaném měsíci a 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.

GetDaysInYear(Int32)

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

GetEra(DateTime)

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

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

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.

GetMilliseconds(DateTime)

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

GetMinute(DateTime)

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

GetMonth(DateTime)

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

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ém období.

GetMonthsInYear(Int32)

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

GetSecond(DateTime)

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

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

GetYear(DateTime)

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

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.

IsLeapDay(Int32, Int32, Int32)

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

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.

IsLeapMonth(Int32, Int32)

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

IsLeapYear(Int32, Int32)

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

MemberwiseClone()

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

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

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

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

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

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é