Calendar Klass

Definition

Representerar tid i divisioner, till exempel veckor, månader och år.

public ref class Calendar abstract
public ref class Calendar abstract : ICloneable
public abstract class Calendar
[System.Serializable]
public abstract class Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Calendar : ICloneable
public abstract class Calendar : ICloneable
type Calendar = class
[<System.Serializable>]
type Calendar = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Calendar = class
    interface ICloneable
type Calendar = class
    interface ICloneable
Public MustInherit Class Calendar
Public MustInherit Class Calendar
Implements ICloneable
Arv
Calendar
Härledda
Attribut
Implementeringar

Exempel

I följande kodexempel visas medlemmarna i Calendar klassen.

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

Kommentarer

En kalender delar in tid i enheter, till exempel veckor, månader och år. Antalet, längden och starten av divisionerna varierar i varje kalender.

Note

Information om hur du använder kalenderklasserna i .NET finns i Working with Calendars.

När som helst kan representeras som en uppsättning numeriska värden med hjälp av en viss kalender. Till exempel inträffade en vernaldagjämning vid (1999, 3, 20, 8, 46, 0, 0,0) i den gregorianska kalendern, det vill säga 20 mars 1999 C.E. kl. 08:46:00:0.0. En implementering av Calendar kan mappa valfritt datum i intervallet för en specifik kalender till en liknande uppsättning numeriska värden och DateTime kan mappa sådana uppsättningar numeriska värden till en textrepresentation med hjälp av information från Calendar och DateTimeFormatInfo. Textrepresentationen kan vara kulturkänslig, till exempel "08:46 20 mars 1999 AD" för en-US kultur eller kulturokänslig, till exempel "1999-03-20T08:46:00" i ISO 8601-format.

En Calendar implementering kan definiera en eller flera epoker. Klassen Calendar identifierar raderingarna som uppräknade heltal, där den aktuella eran (CurrentEra) har värdet 0.

Important

Epoker i de japanska kalendrarna baseras på kejsarens regeringstid och förväntas därför förändras. Den 1 maj 2019 markerade till exempel början av Reiwa-eran i JapaneseCalendar och JapaneseLunisolarCalendar. En sådan ändring av era påverkar alla program som använder dessa kalendrar. Mer information och för att avgöra om dina program påverkas finns i Hantera en ny era i den japanska kalendern i .NET. Information om hur du testar dina program i Windows-system för att säkerställa att de är redo för tidsändringen finns i Förbereda ditt program för ändringen av den japanska eran. Funktioner i .NET som stöder kalendrar med flera epoker och bästa praxis när du arbetar med kalendrar som stöder flera epoker finns i Arbeta med epoker.

För att kompensera för skillnaden mellan kalenderåret och den faktiska tid som jorden roterar runt solen eller den faktiska tid som månen roterar runt jorden, har ett skottår ett annat antal dagar från ett standardkalenderår. Varje Calendar implementering definierar skottår på olika sätt.

För konsekvens tilldelas den första enheten i varje intervall (till exempel den första månaden) värdet 1.

Namnområdet System.Globalization innehåller följande Calendar implementeringar:

Konstruktorer

Name Description
Calendar()

Initierar en ny instans av Calendar klassen.

Fält

Name Description
CurrentEra

Representerar den aktuella eran i den aktuella kalendern. Värdet för det här fältet är 0.

Egenskaper

Name Description
AlgorithmType

Hämtar ett värde som anger om den aktuella kalendern är solbaserad, månbaserad eller en kombination av båda.

DaysInYearBeforeMinSupportedYear

Hämtar antalet dagar under året som föregår det år som anges av MinSupportedDateTime egenskapen.

Eras

När du åsidosättas i en härledd klass hämtar du listan över epoker i den aktuella kalendern.

IsReadOnly

Hämtar ett värde som anger om det här Calendar objektet är skrivskyddat.

MaxSupportedDateTime

Hämtar det senaste datum och den tid som stöds av det här Calendar objektet.

MinSupportedDateTime

Hämtar det tidigaste datum och den tid som stöds av det här Calendar objektet.

TwoDigitYearMax

Hämtar eller anger det sista året för ett 100-årsintervall som kan representeras av ett 2-siffrigt år.

Metoder

Name Description
AddDays(DateTime, Int32)

Returnerar ett DateTime som är det angivna antalet dagar från det angivna DateTime.

AddHours(DateTime, Int32)

Returnerar ett DateTime som är det angivna antalet timmar från den angivna DateTime.

AddMilliseconds(DateTime, Double)

Returnerar ett DateTime som är det angivna antalet millisekunder bort från den angivna DateTime.

AddMinutes(DateTime, Int32)

Returnerar ett DateTime som är det angivna antalet minuter från den angivna DateTime.

AddMonths(DateTime, Int32)

När den åsidosätts i en härledd klass returneras ett DateTime som är det angivna antalet månader från den angivna DateTime.

AddSeconds(DateTime, Int32)

Returnerar ett DateTime som är det angivna antalet sekunder från den angivna DateTime.

AddWeeks(DateTime, Int32)

Returnerar ett DateTime som är det angivna antalet veckor från den angivna DateTime.

AddYears(DateTime, Int32)

När den åsidosätts i en härledd klass returneras ett DateTime som är det angivna antalet år från den angivna DateTime.

Clone()

Skapar ett nytt objekt som är en kopia av det aktuella Calendar objektet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetDayOfMonth(DateTime)

När åsidosättas i en härledd klass returnerar den dag i månaden i den angivna DateTime.

GetDayOfWeek(DateTime)

När åsidosättas i en härledd klass returnerar den veckodag i den angivna DateTime.

GetDayOfYear(DateTime)

När åsidosättas i en härledd klass returnerar den dag på året i den angivna DateTime.

GetDaysInMonth(Int32, Int32, Int32)

När det åsidosättas i en härledd klass returneras antalet dagar i den angivna månaden, året och eran.

GetDaysInMonth(Int32, Int32)

Returnerar antalet dagar i den angivna månaden och året för den aktuella eran.

GetDaysInYear(Int32, Int32)

När det åsidosättas i en härledd klass returneras antalet dagar under det angivna året och eran.

GetDaysInYear(Int32)

Returnerar antalet dagar under det angivna året för den aktuella eran.

GetEra(DateTime)

När den åsidosättas i en härledd klass returneras eran för den angivna DateTime.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetHour(DateTime)

Returnerar timvärdet i den angivna DateTime.

GetLeapMonth(Int32, Int32)

Beräknar skottmånaden för ett angivet år och en angiven era.

GetLeapMonth(Int32)

Beräknar skottmånaden för ett angivet år.

GetMilliseconds(DateTime)

Returnerar millisekundersvärdet i den angivna DateTime.

GetMinute(DateTime)

Returnerar minutvärdet i den angivna DateTime.

GetMonth(DateTime)

När åsidosättas i en härledd klass returnerar månaden i den angivna DateTime.

GetMonthsInYear(Int32, Int32)

När det åsidosättas i en härledd klass returneras antalet månader under det angivna året i den angivna eran.

GetMonthsInYear(Int32)

Returnerar antalet månader under det angivna året i den aktuella eran.

GetSecond(DateTime)

Returnerar sekundvärdet i den angivna DateTime.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Returnerar den vecka på året som innehåller datumet i det angivna DateTime värdet.

GetYear(DateTime)

När det åsidosättas i en härledd klass returnerar året i den angivna DateTime.

IsLeapDay(Int32, Int32, Int32, Int32)

När det åsidosättas i en härledd klass avgör du om det angivna datumet i den angivna eran är en skottdag.

IsLeapDay(Int32, Int32, Int32)

Avgör om det angivna datumet i den aktuella eran är en skottdag.

IsLeapMonth(Int32, Int32, Int32)

När den åsidosättas i en härledd klass avgör du om den angivna månaden under det angivna året i den angivna eran är en skottmånad.

IsLeapMonth(Int32, Int32)

Avgör om den angivna månaden under det angivna året i den aktuella eran är en skottmånad.

IsLeapYear(Int32, Int32)

När det åsidosättas i en härledd klass avgör du om det angivna året i den angivna eran är ett skottår.

IsLeapYear(Int32)

Avgör om det angivna året i den aktuella eran är ett skottår.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ReadOnly(Calendar)

Returnerar en skrivskyddad version av det angivna Calendar objektet.

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

När den åsidosätts i en härledd klass returnerar en DateTime som är inställd på det angivna datumet och tiden i den angivna eran.

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

Returnerar ett DateTime som är inställt på angivet datum och tid i den aktuella eran.

ToFourDigitYear(Int32)

Konverterar det angivna året till ett fyrsiffrigt år med hjälp TwoDigitYearMax av egenskapen för att fastställa lämpligt århundrade.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även