Calendar Klasa

Definicja

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ż