Calendar 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 č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é
- DateTime
- DateTimeFormatInfo
- ChineseLunisolarCalendar
- EastAsianLunisolarCalendar
- GregorianCalendar
- HebrewCalendar
- HijriCalendar
- JapaneseCalendar
- JapaneseLunisolarCalendar
- JulianCalendar
- KoreanCalendar
- KoreanLunisolarCalendar
- PersianCalendar
- TaiwanCalendar
- TaiwanLunisolarCalendar
- ThaiBuddhistCalendar
- UmAlQuraCalendar
- Práce s kalendáři