Calendar Třída

Definice

Představuje čas v rozdělení, například týdny, měsíce a roky.Represents time in divisions, such as weeks, months, and years.

public ref class Calendar abstract : ICloneable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class Calendar : ICloneable
type Calendar = class
    interface ICloneable
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.The following code example demonstrates the members of the Calendar class.

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

V kalendáři se rozdělí čas na jednotky, například týdny, měsíce a roky.A calendar divides time into units, such as weeks, months, and years. Počet, délka a začátek dělení se v každém kalendáři liší.The number, length, and start of the divisions vary in each calendar.

Poznámka

Informace o použití tříd kalendáře v rozhraní .NET naleznete v tématu práce s kalendáři.For information about using the calendar classes in .NET, see Working with Calendars.

Libovolný okamžik v čase může být reprezentován jako sada číselných hodnot pomocí konkrétního kalendáře.Any moment in time can be represented as a set of numeric values using a particular calendar. Například Vernal Equinox nastala v gregoriánském kalendáři v (1999, 3, 20, 8, 46, 0, 0,0), tj. března 20, 1999 0001For example, a vernal equinox occurred at (1999, 3, 20, 8, 46, 0, 0.0) in the Gregorian calendar, that is, March 20, 1999 C.E. at 8:46:00:0.0.at 8:46:00:0.0. Implementace Calendar nástroje může namapovat jakékoli datum v rozsahu konkrétního kalendáře na podobnou sadu číselných hodnot a DateTime může mapovat takové sady číselných hodnot na textovou reprezentaci pomocí informací z Calendar a DateTimeFormatInfo.An implementation of Calendar can map any date in the range of a specific calendar to a similar set of numeric values, and DateTime can map such sets of numeric values to a textual representation using information from Calendar and DateTimeFormatInfo. Textová reprezentace může být závislá na jazykové verzi, například "8:46 dop. březen 1999 AD" pro jazykovou verzi en-US nebo nezávislá na jazykové verzi, například "1999-03-20T08:46:00" ve formátu ISO 8601.The textual representation can be culture-sensitive, for example, "8:46 AM March 20th 1999 AD" for the en-US culture, or culture-insensitive, for example, "1999-03-20T08:46:00" in ISO 8601 format.

Calendar Implementace může definovat jednu nebo více mazání.A Calendar implementation can define one or more eras. Třída identifikuje mazání jako Výčtová celá čísla, kde aktuální období (CurrentEra) má hodnotu 0. CalendarThe Calendar class identifies the eras as enumerated integers, where the current era (CurrentEra) has the value 0.

Důležité

Větší počet období v japonské kalendářích jsou založené na císaře a proto se neočekává změna.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Například 1. května 2019 označené začátku období Reiwa ve JapaneseCalendar a JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Tuto změnu období ovlivňuje všechny aplikace, které používají tyto kalendáře.Such a change of era affects all applications that use these calendars. Zobrazit zpracování do nové éry v japonské kalendáře v rozhraní .NET Další informace a na zjištění, zda jsou vliv na vaše aplikace.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Zobrazit Příprava aplikace pro změnu japonské období informace o testování aplikací v systémech Windows pro zajištění jejich připravenosti změna éry.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Zobrazit práce s obdobími pro funkce v rozhraní .NET, které podporují kalendářích s obdobími více a osvědčené postupy při práci s kalendáře, které podporují větší počet období.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

Aby se dosáhlo rozdílu 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í ze standardního kalendářního roku.To make up for the difference between the calendar year and the actual time that the earth rotates around the sun or the actual time that the moon rotates around the earth, a leap year has a different number of days from a standard calendar year. Každá Calendar implementace definuje přestupné roky odlišně.Each Calendar implementation defines leap years differently.

Pro konzistenci má první jednotka v každém intervalu (například první měsíc) přiřazenou hodnotu 1.For consistency, the first unit in each interval (the first month, for example) is assigned the value 1.

Obor názvů zahrnuje následující Calendar implementace: System.GlobalizationThe System.Globalization namespace includes the following Calendar implementations:

Konstruktory

Calendar()

Inicializuje novou instanci třídy Calendar třídy.Initializes a new instance of the Calendar class.

Pole

CurrentEra

Představuje aktuální období aktuálního kalendáře.Represents the current era of the current calendar. Hodnota tohoto pole je 0.The value of this field is 0.

Vlastnosti

AlgorithmType

Získá hodnotu, která označuje, zda je aktuální kalendář založen na slunečním, lunárním nebo kombinaci obou.Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both.

DaysInYearBeforeMinSupportedYear

Vrátí počet dnů v roce, který předchází roku, který je určen MinSupportedDateTime vlastností.Gets the number of days in the year that precedes the year that is specified by the MinSupportedDateTime property.

Eras

Při přepsání v odvozené třídě získá seznam mazání v aktuálním kalendáři.When overridden in a derived class, gets the list of eras in the current calendar.

IsReadOnly

Načte hodnotu, která označuje, Calendar jestli je tento objekt jen pro čtení.Gets a value indicating whether this Calendar object is read-only.

MaxSupportedDateTime

Získá nejnovější datum a čas podporovaný tímto Calendar objektem.Gets the latest date and time supported by this Calendar object.

MinSupportedDateTime

Získá nejstarší datum a čas podporovaný tímto Calendar objektem.Gets the earliest date and time supported by this Calendar object.

TwoDigitYearMax

Získá nebo nastaví poslední rok v rozsahu 100 roku, který může být reprezentován letopočtem rokem.Gets or sets the last year of a 100-year range that can be represented by a 2-digit year.

Metody

AddDays(DateTime, Int32)

Vrátí hodnotu DateTime, která představuje zadaný počet dní od zadaného. DateTimeReturns a DateTime that is the specified number of days away from the specified DateTime.

AddHours(DateTime, Int32)

Vrátí hodnotu DateTime, která představuje zadaný počet hodin od zadaného. DateTimeReturns a DateTime that is the specified number of hours away from the specified DateTime.

AddMilliseconds(DateTime, Double)

Vrátí hodnotu DateTime, která představuje zadaný počet milisekund od zadaného. DateTimeReturns a DateTime that is the specified number of milliseconds away from the specified DateTime.

AddMinutes(DateTime, Int32)

Vrátí hodnotu DateTime, která představuje zadaný počet minut od zadaného. DateTimeReturns a DateTime that is the specified number of minutes away from the specified DateTime.

AddMonths(DateTime, Int32)

Při přepsání v odvozené třídě vrátí DateTime hodnotu, která představuje zadaný počet měsíců od zadaného. DateTimeWhen overridden in a derived class, returns a DateTime that is the specified number of months away from the specified DateTime.

AddSeconds(DateTime, Int32)

Vrátí hodnotu DateTime, která představuje zadaný počet sekund od zadaného. DateTimeReturns a DateTime that is the specified number of seconds away from the specified DateTime.

AddWeeks(DateTime, Int32)

Vrátí hodnotu DateTime, která představuje zadaný počet týdnů od zadaného. DateTimeReturns a DateTime that is the specified number of weeks away from the specified DateTime.

AddYears(DateTime, Int32)

Při přepsání v odvozené třídě vrátí DateTime hodnotu, která představuje zadaný počet roků od zadaného. DateTimeWhen overridden in a derived class, returns a DateTime that is the specified number of years away from the specified DateTime.

Clone()

Vytvoří nový objekt, který je kopií aktuálního Calendar objektu.Creates a new object that is a copy of the current Calendar object.

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(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.When overridden in a derived class, returns the day of the month in the specified DateTime.

GetDayOfWeek(DateTime)

Při přepsání v odvozené třídě vrátí den v týdnu v zadaném DateTime.When overridden in a derived class, returns the day of the week in the specified DateTime.

GetDayOfYear(DateTime)

Při přepsání v odvozené třídě vrátí den v roce v zadaném DateTimepoli.When overridden in a derived class, returns the day of the year in the specified DateTime.

GetDaysInMonth(Int32, Int32)

Vrátí počet dnů v zadaném měsíci a roce aktuálního období.Returns the number of days in the specified month and year of the current era.

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 období.When overridden in a derived class, returns the number of days in the specified month, year, and era.

GetDaysInYear(Int32)

Vrátí počet dnů v zadaném roce aktuálního období.Returns the number of days in the specified year of the current era.

GetDaysInYear(Int32, Int32)

Při přepsání v odvozené třídě vrátí počet dnů v zadaném roce a období.When overridden in a derived class, returns the number of days in the specified year and era.

GetEra(DateTime)

Při přepsání v odvozené třídě vrátí období určeného DateTime.When overridden in a derived class, returns the era of the specified DateTime.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Vrátí hodnotu hodin v zadaném DateTimepoli.Returns the hours value in the specified DateTime.

GetLeapMonth(Int32)

Vypočítá přestupný měsíc v zadaném roce.Calculates the leap month for a specified year.

GetLeapMonth(Int32, Int32)

Vypočítá přestupný měsíc v zadaném roce a období.Calculates the leap month for a specified year and era.

GetMilliseconds(DateTime)

Vrátí hodnotu milisekund v zadaném DateTime.Returns the milliseconds value in the specified DateTime.

GetMinute(DateTime)

Vrátí hodnotu minuty v zadaném DateTime.Returns the minutes value in the specified DateTime.

GetMonth(DateTime)

Při přepsání v odvozené třídě vrátí měsíc v zadaném DateTime.When overridden in a derived class, returns the month in the specified DateTime.

GetMonthsInYear(Int32)

Vrátí počet měsíců v zadaném roce v aktuálním období.Returns the number of months in the specified year in the current era.

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í.When overridden in a derived class, returns the number of months in the specified year in the specified era.

GetSecond(DateTime)

Vrátí hodnotu sekund v zadaném DateTime.Returns the seconds value in the specified DateTime.

GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

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

Vrátí týden v roce, který obsahuje datum zadané DateTime hodnoty.Returns the week of the year that includes the date in the specified DateTime value.

GetYear(DateTime)

Při přepsání v odvozené třídě vrátí zadaný rok v určeném DateTimepoli.When overridden in a derived class, returns the year in the specified DateTime.

IsLeapDay(Int32, Int32, Int32)

Určuje, zda je zadané datum v aktuálním období přestupným dnem.Determines whether the specified date in the current era is a leap day.

IsLeapDay(Int32, Int32, Int32, Int32)

Při přepsání v odvozené třídě Určuje, zda je zadané datum v zadaném období přestupným dnem.When overridden in a derived class, determines whether the specified date in the specified era is a leap day.

IsLeapMonth(Int32, Int32)

Určuje, zda zadaný měsíc v zadaném roce v aktuálním období je přestupným měsícem.Determines whether the specified month in the specified year in the current era is a leap month.

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ém období je přestupný měsíc.When overridden in a derived class, determines whether the specified month in the specified year in the specified era is a leap month.

IsLeapYear(Int32)

Určuje, zda je zadaný rok v aktuálním období přestupným rokem.Determines whether the specified year in the current era is a leap year.

IsLeapYear(Int32, Int32)

Při přepsání v odvozené třídě Určuje, zda zadaný rok v zadaném období je přestupný rok.When overridden in a derived class, determines whether the specified year in the specified era is a leap year.

MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

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

Vrátí verzi zadaného objektu určenou Calendar jen pro čtení.Returns a read-only version of the specified Calendar object.

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

Vrátí hodnotu DateTime , která je nastavena na zadané datum a čas v aktuálním období.Returns a DateTime that is set to the specified date and time in the current era.

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

Při přepsání v odvozené třídě vrátí hodnotu DateTime , která je nastavena na zadané datum a čas v zadaném období.When overridden in a derived class, returns a DateTime that is set to the specified date and time in the specified era.

ToFourDigitYear(Int32)

Převede zadaný rok na rok se čtyřmi číslicemi pomocí TwoDigitYearMax vlastnosti k určení vhodného století.Converts the specified year to a four-digit year by using the TwoDigitYearMax property to determine the appropriate century.

ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro

Viz také