Calendar.IsLeapDay Metodo

Definizione

Quando è sottoposto a override in una classe derivata, determina se una data è un giorno intercalare.

Overload

IsLeapDay(Int32, Int32, Int32)

Determina se la data specificata nell'era corrente è un giorno intercalare.

IsLeapDay(Int32, Int32, Int32, Int32)

Quando è sottoposto a override in una classe derivata, determina se la data specificata nell'era specificata è un giorno intercalare.

IsLeapDay(Int32, Int32, Int32)

Origine:
Calendar.cs
Origine:
Calendar.cs
Origine:
Calendar.cs

Determina se la data specificata nell'era corrente è un giorno intercalare.

C#
public virtual bool IsLeapDay (int year, int month, int day);

Parametri

year
Int32

Valore intero che rappresenta l'anno.

month
Int32

Valore intero positivo che rappresenta il mese.

day
Int32

Valore intero positivo che rappresenta il giorno.

Restituisce

true se il giorno specificato è intercalare; in caso contrario, false.

Eccezioni

year non è compreso nell'intervallo supportato dal calendario.

-oppure-

month non è compreso nell'intervallo supportato dal calendario.

-oppure-

day non è compreso nell'intervallo supportato dal calendario.

Esempio

Nell'esempio di codice seguente vengono confrontate diverse implementazioni della Calendar classe.

C#
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

*/

Commenti

Per fare la differenza tra l'anno del calendario e il tempo effettivo che la terra ruota intorno al sole o il tempo effettivo che la luna ruota intorno alla terra, un anno di salto ha un numero diverso di giorni da un anno di calendario standard. Ogni Calendar implementazione definisce anni di attività diverse.

Un giorno di salto è un giorno che si verifica solo in un anno saltato. Ad esempio, nel calendario gregoriano, il 29° giorno di febbraio è l'unico giorno di salto.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

IsLeapDay(Int32, Int32, Int32, Int32)

Origine:
Calendar.cs
Origine:
Calendar.cs
Origine:
Calendar.cs

Quando è sottoposto a override in una classe derivata, determina se la data specificata nell'era specificata è un giorno intercalare.

C#
public abstract bool IsLeapDay (int year, int month, int day, int era);

Parametri

year
Int32

Valore intero che rappresenta l'anno.

month
Int32

Valore intero positivo che rappresenta il mese.

day
Int32

Valore intero positivo che rappresenta il giorno.

era
Int32

Valore intero che rappresenta l'era.

Restituisce

true se il giorno specificato è intercalare; in caso contrario, false.

Eccezioni

year non è compreso nell'intervallo supportato dal calendario.

-oppure-

month non è compreso nell'intervallo supportato dal calendario.

-oppure-

day non è compreso nell'intervallo supportato dal calendario.

-oppure-

era non è compreso nell'intervallo supportato dal calendario.

Commenti

Per fare la differenza tra l'anno del calendario e il tempo effettivo che la terra ruota intorno al sole o il tempo effettivo che la luna ruota intorno alla terra, un anno di salto ha un numero diverso di giorni da un anno di calendario standard. Ogni Calendar implementazione definisce anni di attività diverse.

Un giorno di salto è un giorno che si verifica solo in un anno saltato. Ad esempio, nel calendario gregoriano, il 29° giorno di febbraio è l'unico giorno di salto.

Note per gli implementatori

La classe derivata deve supportare CurrentEra quando viene passata come era parametro. Un modo per supportare CurrentEra è sostituendolo con il valore archiviato in Eras[0], che è il valore per l'era corrente del calendario.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0