Calendar.IsLeapMonth Metodo

Definizione

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

Overload

IsLeapMonth(Int32, Int32, Int32)

Quando è sottoposto a override in una classe derivata, determina se il mese specificato nell'anno specificato dell'era specificata è intercalare.

IsLeapMonth(Int32, Int32)

Determina se il mese specificato nell'anno specificato dell'era corrente è intercalare.

IsLeapMonth(Int32, Int32, Int32)

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

Quando è sottoposto a override in una classe derivata, determina se il mese specificato nell'anno specificato dell'era specificata è intercalare.

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

Parametri

year
Int32

Valore intero che rappresenta l'anno.

month
Int32

Valore intero positivo che rappresenta il mese.

era
Int32

Valore intero che rappresenta l'era.

Restituisce

true se il mese 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-

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 mese saltato è un mese intero che si verifica solo in un anno bisestile. Ad esempio, nel calendario ebraico, Adar Beit è l'unico mese saltato.

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

IsLeapMonth(Int32, Int32)

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

Determina se il mese specificato nell'anno specificato dell'era corrente è intercalare.

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

Parametri

year
Int32

Valore intero che rappresenta l'anno.

month
Int32

Valore intero positivo che rappresenta il mese.

Restituisce

true se il mese specificato è intercalare. In caso contrario, false.

Eccezioni

year non è compreso nell'intervallo supportato dal calendario.

-oppure-

month 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 mese saltato è un mese intero che si verifica solo in un anno bisestile. Ad esempio, nel calendario ebraico, Adar Beit è l'unico mese saltato.

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