Calendar.IsLeapDay Metod
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.
När det åsidosättas i en härledd klass avgör om ett datum är en skottdag.
Överlagringar
| Name | Description |
|---|---|
| IsLeapDay(Int32, Int32, Int32) |
Avgör om det angivna datumet i den aktuella eran är en skottdag. |
| 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.
public:
virtual bool IsLeapDay(int year, int month, int day);
public virtual bool IsLeapDay(int year, int month, int day);
abstract member IsLeapDay : int * int * int -> bool
override this.IsLeapDay : int * int * int -> bool
Public Overridable Function IsLeapDay (year As Integer, month As Integer, day As Integer) As Boolean
Parametrar
- year
- Int32
Ett heltal som representerar året.
- month
- Int32
Ett positivt heltal som representerar månaden.
- day
- Int32
Ett positivt heltal som representerar dagen.
Returer
trueom den angivna dagen är en skottdag; annars . false
Undantag
year ligger utanför det intervall som stöds av kalendern.
-eller-
month ligger utanför det intervall som stöds av kalendern.
-eller-
day ligger utanför det intervall som stöds av kalendern.
Exempel
I följande kodexempel jämförs olika implementeringar av Calendar klassen.
using System;
using System.Globalization;
public class SamplesCalendar {
public static void Main() {
// Creates an instance of every Calendar type.
Calendar[] myCals = new Calendar[8];
myCals[0] = new GregorianCalendar();
myCals[1] = new HebrewCalendar();
myCals[2] = new HijriCalendar();
myCals[3] = new JapaneseCalendar();
myCals[4] = new JulianCalendar();
myCals[5] = new KoreanCalendar();
myCals[6] = new TaiwanCalendar();
myCals[7] = new ThaiBuddhistCalendar();
// For each calendar, displays the current year, the number of months in that year,
// and the number of days in each month of that year.
int i, j, iYear, iMonth, iDay;
DateTime myDT = DateTime.Today;
for ( i = 0; i < myCals.Length; i++ ) {
iYear = myCals[i].GetYear( myDT );
Console.WriteLine();
Console.WriteLine( "{0}, Year: {1}", myCals[i].GetType(), myCals[i].GetYear( myDT ) );
Console.WriteLine( " MonthsInYear: {0}", myCals[i].GetMonthsInYear( iYear ) );
Console.WriteLine( " DaysInYear: {0}", myCals[i].GetDaysInYear( iYear ) );
Console.WriteLine( " Days in each month:" );
Console.Write( " " );
for ( j = 1; j <= myCals[i].GetMonthsInYear( iYear ); j++ )
Console.Write( " {0,-5}", myCals[i].GetDaysInMonth( iYear, j ) );
Console.WriteLine();
iMonth = myCals[i].GetMonth( myDT );
iDay = myCals[i].GetDayOfMonth( myDT );
Console.WriteLine( " IsLeapDay: {0}", myCals[i].IsLeapDay( iYear, iMonth, iDay ) );
Console.WriteLine( " IsLeapMonth: {0}", myCals[i].IsLeapMonth( iYear, iMonth ) );
Console.WriteLine( " IsLeapYear: {0}", myCals[i].IsLeapYear( iYear ) );
}
}
}
/*
This code produces the following output. The results vary depending on the date.
System.Globalization.GregorianCalendar, Year: 2002
MonthsInYear: 12
DaysInYear: 365
Days in each month:
31 28 31 30 31 30 31 31 30 31 30 31
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: False
System.Globalization.HebrewCalendar, Year: 5763
MonthsInYear: 13
DaysInYear: 385
Days in each month:
30 30 30 29 30 30 29 30 29 30 29 30 29
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: True
System.Globalization.HijriCalendar, Year: 1423
MonthsInYear: 12
DaysInYear: 355
Days in each month:
30 29 30 29 30 29 30 29 30 29 30 30
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: True
System.Globalization.JapaneseCalendar, Year: 14
MonthsInYear: 12
DaysInYear: 365
Days in each month:
31 28 31 30 31 30 31 31 30 31 30 31
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: False
System.Globalization.JulianCalendar, Year: 2002
MonthsInYear: 12
DaysInYear: 365
Days in each month:
31 28 31 30 31 30 31 31 30 31 30 31
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: False
System.Globalization.KoreanCalendar, Year: 4335
MonthsInYear: 12
DaysInYear: 365
Days in each month:
31 28 31 30 31 30 31 31 30 31 30 31
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: False
System.Globalization.TaiwanCalendar, Year: 91
MonthsInYear: 12
DaysInYear: 365
Days in each month:
31 28 31 30 31 30 31 31 30 31 30 31
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: False
System.Globalization.ThaiBuddhistCalendar, Year: 2545
MonthsInYear: 12
DaysInYear: 365
Days in each month:
31 28 31 30 31 30 31 31 30 31 30 31
IsLeapDay: False
IsLeapMonth: False
IsLeapYear: False
*/
Imports System.Globalization
Public Class SamplesCalendar
Public Shared Sub Main()
' Creates an instance of every Calendar type.
Dim myCals(7) As Calendar
myCals(0) = New GregorianCalendar()
myCals(1) = New HebrewCalendar()
myCals(2) = New HijriCalendar()
myCals(3) = New JapaneseCalendar()
myCals(4) = New JulianCalendar()
myCals(5) = New KoreanCalendar()
myCals(6) = New TaiwanCalendar()
myCals(7) = New ThaiBuddhistCalendar()
' For each calendar, displays the current year, the number of months in that year,
' and the number of days in each month of that year.
Dim i, j, iYear, iMonth, iDay As Integer
Dim myDT As DateTime = DateTime.Today
For i = 0 To myCals.Length - 1
iYear = myCals(i).GetYear(myDT)
Console.WriteLine()
Console.WriteLine("{0}, Year: {1}", myCals(i).GetType(), myCals(i).GetYear(myDT))
Console.WriteLine(" MonthsInYear: {0}", myCals(i).GetMonthsInYear(iYear))
Console.WriteLine(" DaysInYear: {0}", myCals(i).GetDaysInYear(iYear))
Console.WriteLine(" Days in each month:")
Console.Write(" ")
For j = 1 To myCals(i).GetMonthsInYear(iYear)
Console.Write(" {0,-5}", myCals(i).GetDaysInMonth(iYear, j))
Next j
Console.WriteLine()
iMonth = myCals(i).GetMonth(myDT)
iDay = myCals(i).GetDayOfMonth(myDT)
Console.WriteLine(" IsLeapDay: {0}", myCals(i).IsLeapDay(iYear, iMonth, iDay))
Console.WriteLine(" IsLeapMonth: {0}", myCals(i).IsLeapMonth(iYear, iMonth))
Console.WriteLine(" IsLeapYear: {0}", myCals(i).IsLeapYear(iYear))
Next i
End Sub
End Class
'This code produces the following output. The results vary depending on the date.
'
'System.Globalization.GregorianCalendar, Year: 2002
' MonthsInYear: 12
' DaysInYear: 365
' Days in each month:
' 31 28 31 30 31 30 31 31 30 31 30 31
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: False
'
'System.Globalization.HebrewCalendar, Year: 5763
' MonthsInYear: 13
' DaysInYear: 385
' Days in each month:
' 30 30 30 29 30 30 29 30 29 30 29 30 29
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: True
'
'System.Globalization.HijriCalendar, Year: 1423
' MonthsInYear: 12
' DaysInYear: 355
' Days in each month:
' 30 29 30 29 30 29 30 29 30 29 30 30
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: True
'
'System.Globalization.JapaneseCalendar, Year: 14
' MonthsInYear: 12
' DaysInYear: 365
' Days in each month:
' 31 28 31 30 31 30 31 31 30 31 30 31
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: False
'
'System.Globalization.JulianCalendar, Year: 2002
' MonthsInYear: 12
' DaysInYear: 365
' Days in each month:
' 31 28 31 30 31 30 31 31 30 31 30 31
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: False
'
'System.Globalization.KoreanCalendar, Year: 4335
' MonthsInYear: 12
' DaysInYear: 365
' Days in each month:
' 31 28 31 30 31 30 31 31 30 31 30 31
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: False
'
'System.Globalization.TaiwanCalendar, Year: 91
' MonthsInYear: 12
' DaysInYear: 365
' Days in each month:
' 31 28 31 30 31 30 31 31 30 31 30 31
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: False
'
'System.Globalization.ThaiBuddhistCalendar, Year: 2545
' MonthsInYear: 12
' DaysInYear: 365
' Days in each month:
' 31 28 31 30 31 30 31 31 30 31 30 31
' IsLeapDay: False
' IsLeapMonth: False
' IsLeapYear: False
Kommentarer
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.
En skottdag är en dag som bara inträffar under ett skottår. I den gregorianska kalendern är till exempel den 29:e dagen i februari den enda skottdagen.
Se även
Gäller för
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.
public:
abstract bool IsLeapDay(int year, int month, int day, int era);
public abstract bool IsLeapDay(int year, int month, int day, int era);
abstract member IsLeapDay : int * int * int * int -> bool
Public MustOverride Function IsLeapDay (year As Integer, month As Integer, day As Integer, era As Integer) As Boolean
Parametrar
- year
- Int32
Ett heltal som representerar året.
- month
- Int32
Ett positivt heltal som representerar månaden.
- day
- Int32
Ett positivt heltal som representerar dagen.
- era
- Int32
Ett heltal som representerar eran.
Returer
trueom den angivna dagen är en skottdag; annars . false
Undantag
year ligger utanför det intervall som stöds av kalendern.
-eller-
month ligger utanför det intervall som stöds av kalendern.
-eller-
day ligger utanför det intervall som stöds av kalendern.
-eller-
era ligger utanför det intervall som stöds av kalendern.
Kommentarer
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.
En skottdag är en dag som bara inträffar under ett skottår. I den gregorianska kalendern är till exempel den 29:e dagen i februari den enda skottdagen.
Anteckningar till implementerare
Den härledda klassen måste ha stöd CurrentEra när den skickas era som parameter. Ett sätt att stödja CurrentEra är att ersätta det med värdet som lagras i Eras[0], vilket är värdet för kalenderns aktuella era.
Se även
- CurrentEra
- Eras
- GetMonthsInYear(Int32)
- GetDaysInMonth(Int32, Int32)
- IsLeapYear(Int32)
- IsLeapMonth(Int32, Int32)