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