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


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

Определение

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

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

Параметры

year
Int32

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

era
Int32

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

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

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

Исключения

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

-или-

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

Примеры

В следующем примере вызывается IsLeapYear пять лет в каждой из эпох. Текущая эра в выходных данных примера — это эра Рейва.

using namespace System;
using namespace System::Globalization;

int main()
{   
   // Creates and initializes a JapaneseCalendar.
   JapaneseCalendar^ myCal = gcnew JapaneseCalendar;
   
   // 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++ )
      Console::Write( "\t {0}", myCal->IsLeapYear( y, 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++ )
         Console::Write( "\t {0}", myCal->IsLeapYear( y, 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();

      // 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++ )
         Console.Write( "\t{0}", myCal.IsLeapYear( y, 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++ )
            Console.Write( "\t{0}", myCal.IsLeapYear( y, 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()

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

      ' Checks five years in the current era.
      Console.Write("CurrentEra:")
      For y = 1 To 5
         Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, JapaneseCalendar.CurrentEra))
      Next
      Console.WriteLine()

      ' Checks five years in each of the eras.
      For i As Integer = 0 To myCal.Eras.Length - 1
         Console.Write("Era {0}:" + ControlChars.Tab, myCal.Eras(i))
         For y = 1 To 5
            Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, myCal.Eras(i)))
         Next
         Console.WriteLine()
      Next 
   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 дней.

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

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