Calendar Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- DateTime
- DateTimeFormatInfo
- ChineseLunisolarCalendar
- EastAsianLunisolarCalendar
- GregorianCalendar
- HebrewCalendar
- HijriCalendar
- JapaneseCalendar
- JapaneseLunisolarCalendar
- JulianCalendar
- KoreanCalendar
- KoreanLunisolarCalendar
- PersianCalendar
- TaiwanCalendar
- TaiwanLunisolarCalendar
- ThaiBuddhistCalendar
- UmAlQuraCalendar
- Arbeta med kalendrar