Język

GregorianCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Metoda

Definicja

Określa, czy określona data w określonej erze jest dniem przestępnym.

public:
 override bool IsLeapDay(int year, int month, int day, int era);
public override bool IsLeapDay(int year, int month, int day, int era);
override this.IsLeapDay : int * int * int * int -> bool
Public Overrides Function IsLeapDay (year As Integer, month As Integer, day As Integer, era As Integer) As Boolean

Parametry

year
Int32

Liczba całkowita reprezentująca rok.

month
Int32

Liczba całkowita z zakresu od 1 do 12, która reprezentuje miesiąc.

day
Int32

Liczba całkowita z zakresu od 1 do 31, która reprezentuje dzień.

era
Int32

Liczba całkowita reprezentująca erę.

Zwraca

true jeśli określony dzień jest dniem przestępnym; w przeciwnym razie, false.

Wyjątki

era znajduje się poza zakresem obsługiwanym przez kalendarz.

— lub —

year znajduje się poza zakresem obsługiwanym przez kalendarz.

— lub —

month znajduje się poza zakresem obsługiwanym przez kalendarz.

— lub —

day znajduje się poza zakresem obsługiwanym przez kalendarz.

Przykłady

Poniższy przykład kodu wywołuje element IsLeapDay na ostatni dzień drugiego miesiąca (luty) przez pięć lat w każdej z epok.

using System;
using System.Globalization;

public class SamplesGregorianCalendar  {

   public static void Main()  {

      // Creates and initializes a GregorianCalendar.
      GregorianCalendar myCal = new GregorianCalendar();

      // Creates a holder for the last day of the second month (February).
      int iLastDay;

      // Displays the header.
      Console.Write( "YEAR\t" );
      for ( int y = 2001; y <= 2005; y++ )
         Console.Write( "\t{0}", y );
      Console.WriteLine();

      // Checks five years in the current era.
      Console.Write( "CurrentEra:" );
      for ( int y = 2001; y <= 2005; y++ )  {
         iLastDay = myCal.GetDaysInMonth( y, 2, GregorianCalendar.CurrentEra );
         Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, GregorianCalendar.CurrentEra ) );
      }
      Console.WriteLine();

      // Checks five years in each of the eras.
      for ( int i = 0; i < myCal.Eras.Length; i++ )  {
         Console.Write( "Era {0}:\t", myCal.Eras[i] );
         for ( int y = 2001; y <= 2005; y++ )  {
            iLastDay = myCal.GetDaysInMonth( y, 2, myCal.Eras[i] );
            Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, myCal.Eras[i] ) );
         }
         Console.WriteLine();
      }
   }
}

/*
This code produces the following output.

YEAR            2001    2002    2003    2004    2005
CurrentEra:     False   False   False   True    False
Era 1:          False   False   False   True    False

*/
Imports System.Globalization

Public Class SamplesGregorianCalendar   
   
   Public Shared Sub Main()

      ' Creates and initializes a GregorianCalendar.
      Dim myCal As New GregorianCalendar()

      ' Creates a holder for the last day of the second month (February).
      Dim iLastDay As Integer

      ' Displays the header.
      Console.Write("YEAR" + ControlChars.Tab)
      Dim y As Integer
      For y = 2001 To 2005
         Console.Write(ControlChars.Tab + "{0}", y)
      Next y
      Console.WriteLine()

      ' Checks five years in the current era.
      Console.Write("CurrentEra:")
      For y = 2001 To 2005
         iLastDay = myCal.GetDaysInMonth(y, 2, GregorianCalendar.CurrentEra)
         Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, GregorianCalendar.CurrentEra))
      Next y
      Console.WriteLine()

      ' Checks five years in each of the eras.
      Dim i As Integer
      For i = 0 To myCal.Eras.Length - 1
         Console.Write("Era {0}:" + ControlChars.Tab, myCal.Eras(i))
         For y = 2001 To 2005
            iLastDay = myCal.GetDaysInMonth(y, 2, myCal.Eras(i))
            Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, myCal.Eras(i)))
         Next y
         Console.WriteLine()
      Next i

   End Sub

End Class


'This code produces the following output.
'
'YEAR            2001    2002    2003    2004    2005
'CurrentEra:     False   False   False   True    False
'Era 1:          False   False   False   True    False

Uwagi

Rok przestępny w kalendarzu gregoriańskim jest definiowany jako rok, który jest równomiernie podzielny przez cztery, z wyjątkiem tego, czy jest podzielny przez 100. Jednak lata, które są podzielne przez 400 lat, to lata przestępne. Na przykład rok 1900 nie był rokiem przestępnym, ale rok 2000 był. Wspólny rok ma 365 dni, a rok przestępny ma 366 dni.

Dzień przestępny to dzień, który występuje tylko w roku przestępnym. W kalendarzu gregoriańskim 29 dzień lutego jest jedynym dniem przestępnym.

Dotyczy

Zobacz też