JapaneseCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Determines whether the specified date in the specified era is a leap day.
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
Parameters
- year
- Int32
An integer that represents the year.
- month
- Int32
An integer from 1 to 12 that represents the month.
- day
- Int32
An integer from 1 to 31 that represents the day.
- era
- Int32
An integer that represents the era.
Returns
true
, if the specified day is a leap day; otherwise, false
.
Exceptions
year
is outside the range supported by the calendar.
-or-
month
is outside the range supported by the calendar.
-or-
day
is outside the range supported by the calendar.
-or-
era
is outside the range supported by the calendar.
Examples
The following example calls IsLeapDay for the last day of the second month (February) for five years in each of the eras. The current era in the example output is the Reiwa era.
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
Remarks
Leap years in the Japanese calendar correspond to the same leap years in the Gregorian calendar. A leap year in the Gregorian calendar is defined as a Gregorian year that is evenly divisible by four, except if it is divisible by 100. However, Gregorian years that are divisible by 400 are leap years. A common year has 365 days and a leap year has 366 days.
A leap day is a day that occurs only in a leap year. For example, the 29th day of Nigatsu (February) is the only leap day.