JulianCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Metod

Definition

Avgör om det angivna datumet i den angivna eran är en skottdag.

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

Parametrar

year
Int32

Ett heltal som representerar året.

month
Int32

Ett heltal från 1 till 12 som representerar månaden.

day
Int32

Ett heltal från 1 till 31 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.

Exempel

I följande exempel anropas IsLeapDay den sista dagen i den andra månaden (februari) i fem år i var och en av epokerna.

using System;
using System.Globalization;

public class SamplesJulianCalendar  {

   public static void Main()  {

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

      // 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, JulianCalendar.CurrentEra );
         Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, JulianCalendar.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 SamplesJulianCalendar   
   
   Public Shared Sub Main()

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

      ' 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, JulianCalendar.CurrentEra)
         Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, JulianCalendar.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

Kommentarer

Till skillnad från den gregorianska kalendern definierar den julianska kalendern ett skottår som ett år som är jämnt delbart med fyra utan undantag. Därför är kalendern felaktig med en dag vart 128:e år. År 1999 var till exempel inte ett skottår, men år 2000 var det. Ett vanligt år har 365 dagar och ett skottår har 366 dagar.

En skottdag är en dag som bara inträffar under ett skottår. I den julianske kalendern är den 29:e dagen i februari den enda skottdagen.

Gäller för

Se även