Поделиться через


JapaneseCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Метод

Определение

Определяет, является ли указанная дата указанной эры високосным днем.

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

Параметры

year
Int32

Целое число, представляющее год.

month
Int32

Целое число от 1 до 12, обозначающее месяц.

day
Int32

Целое число от 1 до 31, обозначающее день.

era
Int32

Целое число, представляющее эру.

Возвращаемое значение

Значение true, если указанный день — високосный; в противном случае — значение false.

Исключения

Значение параметра year находится вне диапазона, поддерживаемого календарем.

-или-

Значение параметра month находится вне диапазона, поддерживаемого календарем.

-или-

Значение параметра day находится вне диапазона, поддерживаемого календарем.

-или-

Значение параметра era находится вне диапазона, поддерживаемого календарем.

Примеры

В следующем примере вызывается IsLeapDay последний день второго месяца (февраль) в течение пяти лет в каждой из эпох. Текущая эра в выходных данных примера — это эра Рейва.


using namespace System;
using namespace System::Globalization;

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

*/
using System;
using System.Globalization;

public class SamplesJapaneseCalendar
{
   public static void Main()
   {
      // Creates and initializes a JapaneseCalendar.
      JapaneseCalendar myCal = new JapaneseCalendar();

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

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

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

*/
Imports System.Globalization

Public Class SamplesJapaneseCalendar   
   Public Shared Sub Main()
      ' Creates and initializes a JapaneseCalendar.
      Dim myCal As New JapaneseCalendar()

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

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

Комментарии

Високосные годы в японском календаре соответствуют тем же високосным годам григорианского календаря. Високосный год по григорианскому календарю определяется как григорианский год, который равномерно делится на четыре, за исключением случаев, когда он делится на 100. Однако григорианские годы, которые делится на 400, являются високосными годами. Общий год имеет 365 дней, а високосный год имеет 366 дней.

Високосный день — это день, который происходит только в високосном году. Например, 29-й день Нигацу (февраль) является единственным високосным днем.

Применяется к

См. также раздел