Calendar Osztály

Definíció

Az idő osztásokban, például hetekben, hónapokban és években kifejezve.

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
Öröklődés
Calendar
Származtatott
Attribútumok
Megvalósítás

Példák

Az alábbi példakód az osztály tagjait Calendar mutatja be.

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

Megjegyzések

A naptár az időt egységekre osztja, például hetekre, hónapokra és évekre. Az osztások száma, hossza és kezdete minden naptárban eltérő.

Note

A naptárosztályok .NET való használatáról további információt a Naptárak használata című témakörben talál.

Az idő bármely pillanata numerikus értékek halmazaként jeleníthető meg egy adott naptár használatával. Például a gergelynaptárban (1999, 3, 20, 8, 46, 0, 0,0) a gergelynaptárban, vagyis 1999. március 20-án 8:46:00:0,0 időpontban történt. Egy implementáció Calendar az adott naptár tartományában lévő dátumokat megfeleltetheti egy hasonló numerikus értékkészletnek, és DateTime az ilyen számértékeket szöveges ábrázolásúra képezheti le a forrásból származó és Calendara DateTimeFormatInfo . A szöveges ábrázolás lehet kulturális szempontból érzékeny, például "8:46 1999. március 20.AD" a en-US kultúrához, vagy a kultúra érzéketlen, például "1999-03-20T08:46:00" ISO 8601 formátumban.

Egy Calendar implementáció meghatározhat egy vagy több korszakot. Az Calendar osztály számbavett egész számként azonosítja a korszakokat, ahol az aktuális kor (CurrentEra) értéke 0.

Important

A japán naptárak korszakai a császár uralkodásán alapulnak, ezért várhatóan megváltoznak. 2019. május 1-jén például a Reiwa-korszak kezdetét jelentette JapaneseCalendar és JapaneseLunisolarCalendar. Az ilyen korszakváltás minden olyan alkalmazást érint, amely ezeket a naptárakat használja. További információkért és annak megállapításához, hogy az alkalmazások érintettek-e, olvassa el az Új korszak kezelése a japán naptárban a .NET-ben című témakört. Az alkalmazások windowsos rendszereken való tesztelésével kapcsolatos információkért, amelyek biztosítják, hogy felkészültek legyenek a korszakváltásra, olvassa el az alkalmazás előkészítése a japán korszakváltásra című témakört. A több korszakot támogató naptárakat támogató .NET-funkciókért és a több korszakot támogató naptárak használatakor ajánlott eljárásokért lásd: Korszakok használata.

Ahhoz, hogy a naptári év és a föld a nap körüli tényleges idő közötti különbséget, vagy a hold a föld körül forog, a szökőévnek eltérő számú napja van a szokásos naptári évtől. Minden Calendar implementáció másként határozza meg a szökőéveket.

Konzisztencia esetén az egyes intervallumok első egysége (például az első hónap) az 1 értéket kapja.

A System.Globalization névtér a következő Calendar implementációkat tartalmazza:

Konstruktorok

Name Description
Calendar()

Inicializálja a Calendar osztály új példányát.

Mezők

Name Description
CurrentEra

Az aktuális naptár aktuális korszakát jelöli. A mező értéke 0.

Tulajdonságok

Name Description
AlgorithmType

Egy értéket kap, amely jelzi, hogy az aktuális naptár napalapú, holdalapú vagy mindkettő kombinációja.

DaysInYearBeforeMinSupportedYear

A tulajdonság által MinSupportedDateTime megadott évet megelőző év napjainak számát adja meg.

Eras

Ha felül van bírálva egy származtatott osztályban, lekéri a korok listáját az aktuális naptárban.

IsReadOnly

Beolvas egy értéket, amely jelzi, hogy az Calendar objektum írásvédett-e.

MaxSupportedDateTime

Lekéri az objektum által Calendar támogatott legújabb dátumot és időpontot.

MinSupportedDateTime

Az objektum által Calendar támogatott legkorábbi dátumot és időt kapja meg.

TwoDigitYearMax

Lekéri vagy beállítja egy 100 éves tartomány utolsó évét, amelyet kétjegyű év jelölhet.

Metódusok

Name Description
AddDays(DateTime, Int32)

DateTime A megadott számú, a megadotttól DateTimetávol lévő napot adja vissza.

AddHours(DateTime, Int32)

Azt a értéket adja DateTime vissza, amely a megadott számú órára van a megadotttól DateTimetávol.

AddMilliseconds(DateTime, Double)

DateTime A megadott számú ezredmásodpercet adja vissza a megadotttól DateTimetávol.

AddMinutes(DateTime, Int32)

Azt a értéket adja DateTime vissza, amely a megadott számú perc távolságra van a megadotttól DateTime.

AddMonths(DateTime, Int32)

Ha egy származtatott osztályban felül van bírálva, a megadott számú hónapot adja vissza DateTime a megadotttól DateTimetávol.

AddSeconds(DateTime, Int32)

DateTime A megadott DateTimeszámú másodpercnyi távolságra lévő értéket adja vissza.

AddWeeks(DateTime, Int32)

DateTime A megadott számú, a megadotttól DateTimetávol lévő hetet adja vissza.

AddYears(DateTime, Int32)

Ha egy származtatott osztályban felül van bírálva, a megadott számú évet adja vissza DateTime a megadotttól DateTimetávol.

Clone()

Létrehoz egy új objektumot, amely az aktuális Calendar objektum másolata.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetDayOfMonth(DateTime)

Ha felül van bírálva egy származtatott osztályban, a megadott DateTimehónap napját adja vissza.

GetDayOfWeek(DateTime)

Ha felül van bírálva egy származtatott osztályban, a megadott hét DateTimenapját adja vissza.

GetDayOfYear(DateTime)

Ha egy származtatott osztályban felül van bírálva, a megadott DateTimeév napját adja vissza.

GetDaysInMonth(Int32, Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, a megadott hónap, év és korszak napjainak számát adja vissza.

GetDaysInMonth(Int32, Int32)

Az aktuális időszak megadott hónapjának és évének napjainak számát adja vissza.

GetDaysInYear(Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, a megadott év és időszak napjainak számát adja vissza.

GetDaysInYear(Int32)

Az aktuális korszak megadott évében lévő napok számát adja eredményül.

GetEra(DateTime)

Ha felül van bírálva egy származtatott osztályban, a megadott DateTimekort adja vissza.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetHour(DateTime)

A megadott DateTimeóraértéket adja vissza.

GetLeapMonth(Int32, Int32)

Kiszámítja egy adott év és korszak szökőhónapjait.

GetLeapMonth(Int32)

Kiszámítja egy adott év szökőhónapjait.

GetMilliseconds(DateTime)

A megadott DateTimeérték ezredmásodpercét adja vissza.

GetMinute(DateTime)

A megadott DateTimepercértéket adja vissza.

GetMonth(DateTime)

Ha felül van bírálva egy származtatott osztályban, a megadott DateTimehónap értékét adja vissza.

GetMonthsInYear(Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, a megadott év hónapjainak számát adja vissza a megadott korszakban.

GetMonthsInYear(Int32)

A megadott év hónapjainak számát adja vissza az aktuális korszakban.

GetSecond(DateTime)

A megadott DateTimemásodpercértéket adja vissza.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Az év hetét adja vissza, amely tartalmazza a megadott DateTime értékben szereplő dátumot.

GetYear(DateTime)

Ha egy származtatott osztályban felül van bírálva, a megadott DateTimeév értékét adja vissza.

IsLeapDay(Int32, Int32, Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, meghatározza, hogy a megadott dátum szökőnap-e.

IsLeapDay(Int32, Int32, Int32)

Meghatározza, hogy az aktuális korszakban megadott dátum szökőnap-e.

IsLeapMonth(Int32, Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, meghatározza, hogy a megadott évben megadott hónap szökőhónap-e.

IsLeapMonth(Int32, Int32)

Meghatározza, hogy a megadott év adott hónapja az aktuális korszakban szökőhónap-e.

IsLeapYear(Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, meghatározza, hogy a megadott korszakban megadott év szökőév-e.

IsLeapYear(Int32)

Meghatározza, hogy a jelenlegi korszakban megadott év szökőév-e.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ReadOnly(Calendar)

A megadott Calendar objektum írásvédett verzióját adja vissza.

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

Ha egy származtatott osztályban felül van bírálva, a megadott kor megadott dátumára és idejére beállított értéket ad vissza DateTime .

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

DateTime Az aktuális korszakban megadott dátumra és időre beállított értéket adja vissza.

ToFourDigitYear(Int32)

A megadott évet négyjegyű évszámmá alakítja a tulajdonság használatával a TwoDigitYearMax megfelelő évszázad meghatározásához.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még