JapaneseCalendar.IsLeapDay(Int32, Int32, Int32, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷指定紀元中指定的日期是否為閏日。
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 第二個月的最後一天 (2 月) 5 年。 範例輸出中的目前紀元是 Reiwa 紀元。
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 天。
閏日是只在閏年發生的一天。 例如,Nigatsu 的第 29 天 (2 月) 是唯一的閏日。