Sdílet prostřednictvím


ThaiBuddhistCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Metoda

Definice

Určuje, zda je zadané datum v zadané éře přestupný den.

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

Celé číslo, které představuje rok.

month
Int32

Celé číslo od 1 do 12, které představuje měsíc.

day
Int32

Celé číslo od 1 do 31, které představuje den.

era
Int32

Celé číslo, které představuje éru.

Návraty

trueje-li zadaný den přestupný den; v opačném případě . false

Výjimky

year je mimo rozsah podporovaný kalendářem.

-nebo-

month je mimo rozsah podporovaný kalendářem.

-nebo-

day je mimo rozsah podporovaný kalendářem.

-nebo-

era je mimo rozsah podporovaný kalendářem.

Příklady

Následující příklad volá IsLeapDay poslední den druhého měsíce (únor) po dobu pěti let v každé éře.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a ThaiBuddhistCalendar.
   ThaiBuddhistCalendar^ myCal = gcnew ThaiBuddhistCalendar;
   
   // Creates a holder for the last day of the second month (February).
   int iLastDay;
   
   // Displays the header.
   Console::Write( "YEAR\t" );
   for ( int y = 2544; y <= 2548; y++ )
      Console::Write( "\t {0}", y );
   Console::WriteLine();
   
   // Checks five years in the current era.
   Console::Write( "CurrentEra:" );
   for ( int y = 2544; y <= 2548; y++ )
   {
      iLastDay = myCal->GetDaysInMonth( y, 2, ThaiBuddhistCalendar::CurrentEra );
      Console::Write( "\t {0}", myCal->IsLeapDay( y, 2, iLastDay, ThaiBuddhistCalendar::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 = 2544; y <= 2548; 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            2544    2545    2546    2547    2548
CurrentEra:     False   False   False   True    False
Era 1:          False   False   False   True    False

*/
using System;
using System.Globalization;

public class SamplesThaiBuddhistCalendar  {

   public static void Main()  {

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

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

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

      // Checks five years in the current era.
      Console.Write( "CurrentEra:" );
      for ( int y = 2544; y <= 2548; y++ )  {
         iLastDay = myCal.GetDaysInMonth( y, 2, ThaiBuddhistCalendar.CurrentEra );
         Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, ThaiBuddhistCalendar.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 = 2544; y <= 2548; 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            2544    2545    2546    2547    2548
CurrentEra:     False   False   False   True    False
Era 1:          False   False   False   True    False

*/
Imports System.Globalization

Public Class SamplesThaiBuddhistCalendar   
   
   Public Shared Sub Main()

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

      ' 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 = 2544 To 2548
         Console.Write(ControlChars.Tab + "{0}", y)
      Next y
      Console.WriteLine()

      ' Checks five years in the current era.
      Console.Write("CurrentEra:")
      For y = 2544 To 2548
         iLastDay = myCal.GetDaysInMonth(y, 2, ThaiBuddhistCalendar.CurrentEra)
         Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, ThaiBuddhistCalendar.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 = 2544 To 2548
            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            2544    2545    2546    2547    2548
'CurrentEra:     False   False   False   True    False
'Era 1:          False   False   False   True    False

Poznámky

Přestupné roky v thajském buddhistickém kalendáři odpovídají stejným přestupným rokům v gregoriánském kalendáři. Přestupný rok v gregoriánském kalendáři je definován jako gregoriánský rok, který je rovnoměrně dělitelný čtyřmi, s výjimkou případu, kdy je dělitelný 100. Gregoriánské roky, které jsou dělitelné 400, jsou však přestupnými roky. Běžný rok má 365 dnů a přestupný rok 366 dnů.

Přestupný den je den, který nastane pouze v přestupném roce. Například 29. den února je jediný přestupný den.

Platí pro

Viz také