Calendar Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje czas w podziałach, takich jak tygodnie, miesiące i lata.
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
- Dziedziczenie
-
Calendar
- Pochodne
- Atrybuty
- Implementuje
Przykłady
Poniższy przykład kodu przedstawia składowe Calendar klasy.
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
Uwagi
Kalendarz dzieli czas na jednostki, takie jak tygodnie, miesiące i lata. Liczba, długość i początek podziałów różnią się w każdym kalendarzu.
Uwaga
Aby uzyskać informacje o korzystaniu z klas kalendarza na platformie .NET, zobacz Praca z kalendarzami.
Każdy moment w czasie może być reprezentowany jako zestaw wartości liczbowych przy użyciu określonego kalendarza. Na przykład w kalendarzu gregoriańskim wystąpiła 1999, 3, 20, 8, 46, 0, 0,0) w kalendarzu gregoriańskim, czyli 20 marca 1999 R. o 8:46:00:0.0. Implementacja Calendar może mapować dowolną datę w zakresie określonego kalendarza na podobny zestaw wartości liczbowych i DateTime może mapować takie zestawy wartości liczbowych na reprezentację tekstową przy użyciu informacji z Calendar i DateTimeFormatInfo. Reprezentacja tekstowa może być wrażliwa na kulturę, na przykład "8:46 am 20th 1999 AD" dla kultury en-US lub bez uwzględniania kultury, na przykład "1999-03-20T08:46:00" w formacie ISO 8601.
Implementacja Calendar może definiować co najmniej jedną epokę. Klasa Calendar identyfikuje era jako wyliczone liczby całkowite, gdzie bieżąca era (CurrentEra) ma wartość 0.
Ważne
Era w japońskich kalendarzach opiera się na panowaniu cesarza i dlatego oczekuje się, że się zmieni. Na przykład 1 maja 2019 r. oznaczyła początek ery Reiwa w JapaneseCalendar erze i JapaneseLunisolarCalendar. Taka zmiana ery wpływa na wszystkie aplikacje korzystające z tych kalendarzy. Aby uzyskać więcej informacji i określić, czy twoje aplikacje mają wpływ, zobacz Obsługa nowej ery w kalendarzu japońskim na platformie .NET. Aby uzyskać informacje na temat testowania aplikacji w systemach Windows w celu zapewnienia gotowości do zmiany epoki, zobacz Przygotowywanie aplikacji do japońskiej zmiany epoki. Aby uzyskać informacje o funkcjach na platformie .NET, które obsługują kalendarze z wieloma erami i najlepsze rozwiązania dotyczące pracy z kalendarzami obsługującymi wiele epok, zobacz Praca z erami.
Aby nadrobić różnicę między rokiem kalendarzowym a rzeczywistym czasem rotacji ziemi wokół słońca lub rzeczywistego czasu obracania księżyca wokół ziemi, rok przestępny ma inną liczbę dni od standardowego roku kalendarzowego. Każda implementacja Calendar definiuje lata przestępne inaczej.
W przypadku spójności pierwsza jednostka w każdym interwale (na przykład pierwszy miesiąc) ma przypisaną wartość 1.
System.Globalization Przestrzeń nazw obejmuje następujące Calendar implementacje:
Konstruktory
Calendar() |
Inicjuje nowe wystąpienie klasy Calendar. |
Pola
CurrentEra |
Reprezentuje bieżącą erę bieżącego kalendarza. Wartość tego pola to 0. |
Właściwości
AlgorithmType |
Pobiera wartość wskazującą, czy bieżący kalendarz jest oparty na słońcu, oparty na księżycu, czy też kombinacja obu. |
DaysInYearBeforeMinSupportedYear |
Pobiera liczbę dni w roku poprzedzającym rok określony przez MinSupportedDateTime właściwość . |
Eras |
Po przesłonięciu w klasie pochodnej pobiera listę era w bieżącym kalendarzu. |
IsReadOnly |
Pobiera wartość wskazującą, czy ten Calendar obiekt jest tylko do odczytu. |
MaxSupportedDateTime |
Pobiera najnowszą datę i godzinę obsługiwaną przez ten Calendar obiekt. |
MinSupportedDateTime |
Pobiera najwcześniejszą datę i godzinę obsługiwaną przez ten Calendar obiekt. |
TwoDigitYearMax |
Pobiera lub ustawia ostatni rok zakresu 100-letniego, który może być reprezentowany przez 2-cyfrowy rok. |
Metody
AddDays(DateTime, Int32) |
DateTime Zwraca wartość , która jest określoną liczbą dni od określonej DateTimewartości . |
AddHours(DateTime, Int32) |
DateTime Zwraca wartość , która jest określoną liczbą godzin od określonej DateTimewartości . |
AddMilliseconds(DateTime, Double) |
DateTime Zwraca określoną liczbę milisekund od określonej DateTimewartości . |
AddMinutes(DateTime, Int32) |
DateTime Zwraca wartość , która jest określoną liczbą minut od określonej DateTimewartości . |
AddMonths(DateTime, Int32) |
Po przesłonięciu w klasie pochodnej zwraca DateTime określoną liczbę miesięcy od określonej DateTimewartości . |
AddSeconds(DateTime, Int32) |
DateTime Zwraca wartość , która jest określoną liczbą sekund od określonej DateTimewartości . |
AddWeeks(DateTime, Int32) |
DateTime Zwraca wartość , która jest określoną liczbą tygodni od określonej DateTimewartości . |
AddYears(DateTime, Int32) |
Po przesłonięciu w klasie pochodnej zwraca DateTime określoną liczbę lat od określonej DateTimewartości . |
Clone() |
Tworzy nowy obiekt, który jest kopią bieżącego Calendar obiektu. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetDayOfMonth(DateTime) |
Po zastąpieniu w klasie pochodnej zwraca dzień miesiąca w określonej klasie DateTime. |
GetDayOfWeek(DateTime) |
W przypadku zastąpienia w klasie pochodnej zwraca dzień tygodnia w określonej klasie DateTime. |
GetDayOfYear(DateTime) |
Po przesłonięciu w klasie pochodnej zwraca dzień roku w określonym obiekcie DateTime. |
GetDaysInMonth(Int32, Int32) |
Zwraca liczbę dni w określonym miesiącu i roku bieżącej ery. |
GetDaysInMonth(Int32, Int32, Int32) |
W przypadku zastąpienia w klasie pochodnej zwraca liczbę dni w określonym miesiącu, roku i erze. |
GetDaysInYear(Int32) |
Zwraca liczbę dni w określonym roku bieżącej ery. |
GetDaysInYear(Int32, Int32) |
Po przesłonięciu w klasie pochodnej zwraca liczbę dni w określonym roku i erze. |
GetEra(DateTime) |
W przypadku zastąpienia w klasie pochodnej zwraca erę określonego DateTimeelementu . |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetHour(DateTime) |
Zwraca wartość godzin w określonym obiekcie DateTime. |
GetLeapMonth(Int32) |
Oblicza miesiąc przestępny dla określonego roku. |
GetLeapMonth(Int32, Int32) |
Oblicza miesiąc przestępny dla określonego roku i ery. |
GetMilliseconds(DateTime) |
Zwraca wartość milisekund w określonej wartości DateTime. |
GetMinute(DateTime) |
Zwraca wartość minut w określonej wartości DateTime. |
GetMonth(DateTime) |
Po przesłonięciu klasy pochodnej zwraca miesiąc w określonym obiekcie DateTime. |
GetMonthsInYear(Int32) |
Zwraca liczbę miesięcy w określonym roku w bieżącej erze. |
GetMonthsInYear(Int32, Int32) |
W przypadku zastąpienia w klasie pochodnej zwraca liczbę miesięcy w określonym roku w określonej erze. |
GetSecond(DateTime) |
Zwraca wartość sekund w określonej wartości DateTime. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek) |
Zwraca tydzień roku, który zawiera datę w określonej DateTime wartości. |
GetYear(DateTime) |
Po przesłonięciu w klasie pochodnej zwraca rok w określonym obiekcie DateTime. |
IsLeapDay(Int32, Int32, Int32) |
Określa, czy określona data w bieżącej erze jest dniem przestępnym. |
IsLeapDay(Int32, Int32, Int32, Int32) |
Po zastąpieniu w klasie pochodnej określa, czy określona data w określonej erze jest dniem przestępnym. |
IsLeapMonth(Int32, Int32) |
Określa, czy określony miesiąc w określonym roku w bieżącej erze jest miesiącem przestępnym. |
IsLeapMonth(Int32, Int32, Int32) |
Po zastąpieniu w klasie pochodnej określa, czy określony miesiąc w określonym roku w określonej erze jest miesiącem przestępnym. |
IsLeapYear(Int32) |
Określa, czy określony rok w bieżącej epoce jest rokiem przestępnym. |
IsLeapYear(Int32, Int32) |
W przypadku zastąpienia w klasie pochodnej określa, czy określony rok w określonej erze jest rokiem przestępnym. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ReadOnly(Calendar) |
Zwraca wersję tylko do odczytu określonego Calendar obiektu. |
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
DateTime Zwraca wartość ustawioną na określoną datę i godzinę w bieżącej erze. |
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
W przypadku zastąpienia w klasie pochodnej zwraca wartość ustawioną DateTime na określoną datę i godzinę w określonej erze. |
ToFourDigitYear(Int32) |
Konwertuje określony rok na czterocyfrowy rok przy użyciu właściwości w TwoDigitYearMax celu określenia odpowiedniego wieku. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Dotyczy
Zobacz też
- DateTime
- DateTimeFormatInfo
- ChineseLunisolarCalendar
- EastAsianLunisolarCalendar
- GregorianCalendar
- HebrewCalendar
- HijriCalendar
- JapaneseCalendar
- JapaneseLunisolarCalendar
- JulianCalendar
- KoreanCalendar
- KoreanLunisolarCalendar
- PersianCalendar
- TaiwanCalendar
- TaiwanLunisolarCalendar
- ThaiBuddhistCalendar
- UmAlQuraCalendar
- Praca z kalendarzami
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla