Udostępnij za pośrednictwem


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 równonoc 3, 3, 20, 8, 46, 0, 0,0) w kalendarzu gregoriańskim, czyli 20 marca 1999 r. C.E. o 8:46:00:0.0. Implementacja Calendar programu może mapować dowolną datę w zakresie określonego kalendarza na podobny zestaw wartości liczbowych i DateTime 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ą erę. Klasa Calendar identyfikuje ery jako wyliczone liczby całkowite, gdzie bieżąca era (CurrentEra) ma wartość 0.

Ważne

Ery w japońskich kalendarzach opierają się na panowaniu cesarza i dlatego oczekuje się, że się zmienią. Na przykład 1 maja 2019 r. oznaczało 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 dotyczy to aplikacji, 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 Przygotowanie aplikacji do zmiany ery japońskiej. Aby uzyskać informacje o funkcjach platformy .NET, które obsługują kalendarze z wieloma epokami i najlepsze rozwiązania dotyczące pracy z kalendarzami obsługującymi wiele epok, zobacz Praca z erami.

Aby wymyślić różnicę między rokiem kalendarzowym a rzeczywistym czasem obracania się 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 celu zapewnienia 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ż kombinacji obu.

DaysInYearBeforeMinSupportedYear

Pobiera liczbę dni w roku poprzedzającym rok określony przez MinSupportedDateTime właściwość .

Eras

Po zastąpieniu w klasie pochodnej pobiera listę ery 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)

Zwraca wartość , DateTime która jest określoną liczbą dni od określonej wartości DateTime.

AddHours(DateTime, Int32)

Zwraca wartość , DateTime która jest określoną liczbą godzin od określonej wartości DateTime.

AddMilliseconds(DateTime, Double)

Zwraca wartość , DateTime która jest określoną liczbą milisekund od określonej liczby DateTime.

AddMinutes(DateTime, Int32)

Zwraca wartość , DateTime która jest określoną liczbą minut od określonej wartości DateTime.

AddMonths(DateTime, Int32)

Po przesłonięciu w klasie pochodnej zwraca wartość DateTime , która jest określoną liczbą miesięcy od określonej wartości DateTime.

AddSeconds(DateTime, Int32)

Zwraca wartość , DateTime która jest określoną liczbą sekund od określonej wartości DateTime.

AddWeeks(DateTime, Int32)

Zwraca wartość , DateTime która jest określoną liczbą tygodni od określonej wartości DateTime.

AddYears(DateTime, Int32)

Po przesłonięciu w klasie pochodnej zwraca wartość DateTime , która jest określoną liczbą lat od określonej wartości DateTime.

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 przesłonięciu w klasie pochodnej zwraca dzień miesiąca w określonym DateTimeobiekcie .

GetDayOfWeek(DateTime)

Po przesłonięciu w klasie pochodnej zwraca dzień tygodnia w określonym DateTimeobiekcie .

GetDayOfYear(DateTime)

Po przesłonięciu w klasie pochodnej zwraca dzień roku w określonym DateTimeobiekcie .

GetDaysInMonth(Int32, Int32)

Zwraca liczbę dni w określonym miesiącu i roku bieżącej ery.

GetDaysInMonth(Int32, Int32, Int32)

Po zastąpieniu 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 zastąpieniu w klasie pochodnej zwraca liczbę dni w określonym roku i erze.

GetEra(DateTime)

Po przesłonięciu 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ść godziny w określonym DateTimeobiekcie .

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ślonym DateTimeobiekcie .

GetMinute(DateTime)

Zwraca wartość minut w określonym DateTimeobiekcie .

GetMonth(DateTime)

Po przesłonięciu w klasie pochodnej funkcja zwraca miesiąc w określonym DateTimeobiekcie .

GetMonthsInYear(Int32)

Zwraca liczbę miesięcy w określonym roku w bieżącej erze.

GetMonthsInYear(Int32, Int32)

Po zastąpieniu w klasie pochodnej zwraca liczbę miesięcy w określonym roku w określonej erze.

GetSecond(DateTime)

Zwraca wartość sekund w określonym DateTimeobiekcie .

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(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 DateTimeobiekcie .

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 erze jest rokiem przestępnym.

IsLeapYear(Int32, Int32)

Po zastąpieniu 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)

Zwraca wartość ustawioną DateTime na określoną datę i godzinę w bieżącej erze.

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

Po zastąpieniu 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ż