Questa documentazione è stata archiviata e non viene gestita.

Metodo Calendar.IsLeapDay (Int32, Int32, Int32)

Aggiornamento: novembre 2007

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

Spazio dei nomi:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

public virtual bool IsLeapDay(
	int year,
	int month,
	int day
)
public boolean IsLeapDay(
	int year,
	int month,
	int day
)
public function IsLeapDay(
	year : int, 
	month : int, 
	day : int
) : boolean

Parametri

year
Tipo: System.Int32

Valore integer che rappresenta l'anno.

month
Tipo: System.Int32

Valore integer positivo che rappresenta il mese.

day
Tipo: System.Int32

Valore integer positivo che rappresenta il giorno.

Valore restituito

Tipo: System.Boolean

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

EccezioneCondizione
ArgumentOutOfRangeException

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.

Per indicare la differenza tra l'anno solare e il tempo effettivo di rivoluzione della terra intorno al sole o il tempo effettivo di rivoluzione della luna intorno alla terra, un anno bisestile contiene un numero diverso di giorni rispetto all'anno solare standard. Ogni implementazione della classe Calendar definisce diversamente gli anni bisestili.

Un giorno intercalare è presente soltanto in un anno bisestile. Nel calendario gregoriano, ad esempio, il ventinovesimo giorno di febbraio è l'unico giorno intercalare.

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

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

*/


import System.* ;
import System.Globalization.* ;

public class SamplesCalendar
{
    public static void main(String[] args)
    {
        // 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.get_Today();

        for(i = 0;i < myCals.length;i++) {
            iYear = myCals[i].GetYear(myDT);
            Console.WriteLine();
            Console.WriteLine("{0}, Year: {1}", 
                System.Convert.ToString(myCals[i].GetType()), 
                System.Convert.ToString(myCals[i].GetYear(myDT)));
            Console.WriteLine("   MonthsInYear: {0}", 
                System.Convert.ToString(myCals [i].GetMonthsInYear(iYear)));
            Console.WriteLine("   DaysInYear: {0}",
                System.Convert.ToString( 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}", 
                System.Convert.ToString(myCals[i].GetDaysInMonth(iYear, j)));
            } 
            Console.WriteLine();

            iMonth = myCals[i].GetMonth(myDT);
            iDay = myCals[i].GetDayOfMonth(myDT);
            Console.WriteLine("   IsLeapDay:   {0}",
            System.Convert.ToString(myCals[i].IsLeapDay(iYear, iMonth, iDay)));
            Console.WriteLine("   IsLeapMonth: {0}", 
                System.Convert.ToString(myCals[i].IsLeapMonth(iYear, iMonth)));
            Console.WriteLine("   IsLeapYear:  {0}", 
                System.Convert.ToString(myCals[i].IsLeapYear(iYear)));
        }  
    } //main
} //SamplesCalendar

/*
System.Globalization.GregorianCalendar, Year: 2004
   MonthsInYear: 12
   DaysInYear: 366
   Days in each month:
       31    29    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.HebrewCalendar, Year: 5764
   MonthsInYear: 12
   DaysInYear: 355
   Days in each month:
       30    30    30    29    30    29    30    29    30    29    30    29
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.HijriCalendar, Year: 1425
   MonthsInYear: 12
   DaysInYear: 354
   Days in each month:
       30    29    30    29    30    29    30    29    30    29    30    29
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  False

System.Globalization.JapaneseCalendar, Year: 16
   MonthsInYear: 12
   DaysInYear: 366
   Days in each month:
       31    29    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.JulianCalendar, Year: 2004
   MonthsInYear: 12
   DaysInYear: 366
   Days in each month:
       31    29    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.KoreanCalendar, Year: 4337
   MonthsInYear: 12
   DaysInYear: 366
   Days in each month:
       31    29    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.TaiwanCalendar, Year: 93
   MonthsInYear: 12
   DaysInYear: 366
   Days in each month:
       31    29    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True

System.Globalization.ThaiBuddhistCalendar, Year: 2547
   MonthsInYear: 12
   DaysInYear: 366
   Days in each month:
       31    29    31    30    31    30    31    31    30    31    30    31
   IsLeapDay:   False
   IsLeapMonth: False
   IsLeapYear:  True
 */


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC, Xbox 360

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supportato in: 3.5, 2.0, 1.0

XNA Framework

Supportato in: 2.0, 1.0
Mostra: