JulianCalendar.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 がカレンダーでサポートされている範囲外です。
例
次の例では、各時代 (年号) の 5 年間、第 2 月 (2 月) の最終日の IsLeapDay を呼び出します。
using System;
using System.Globalization;
public class SamplesJulianCalendar {
public static void Main() {
// Creates and initializes a JulianCalendar.
JulianCalendar myCal = new JulianCalendar();
// Creates a holder for the last day of the second month (February).
int iLastDay;
// Displays the header.
Console.Write( "YEAR\t" );
for ( int y = 2001; y <= 2005; y++ )
Console.Write( "\t{0}", y );
Console.WriteLine();
// Checks five years in the current era.
Console.Write( "CurrentEra:" );
for ( int y = 2001; y <= 2005; y++ ) {
iLastDay = myCal.GetDaysInMonth( y, 2, JulianCalendar.CurrentEra );
Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, JulianCalendar.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 = 2001; y <= 2005; 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 2001 2002 2003 2004 2005
CurrentEra: False False False True False
Era 1: False False False True False
*/
Imports System.Globalization
Public Class SamplesJulianCalendar
Public Shared Sub Main()
' Creates and initializes a JulianCalendar.
Dim myCal As New JulianCalendar()
' 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 = 2001 To 2005
Console.Write(ControlChars.Tab + "{0}", y)
Next y
Console.WriteLine()
' Checks five years in the current era.
Console.Write("CurrentEra:")
For y = 2001 To 2005
iLastDay = myCal.GetDaysInMonth(y, 2, JulianCalendar.CurrentEra)
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, JulianCalendar.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 = 2001 To 2005
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 2001 2002 2003 2004 2005
'CurrentEra: False False False True False
'Era 1: False False False True False
注釈
グレゴリオ暦とは異なり、ユリウス暦は閏年を年として定義します。これは例外なく、4 つで均等に割り切れる年です。 そのため、カレンダーは 128 年ごとに 1 日ずつ不正確になります。 たとえば、1999 年は閏年ではなく、2000 年でした。 一般的な年は 365 日、閏年は 366 日です。
閏日は閏年でのみ発生する日です。 ユリウス暦では、2 月の 29 日が唯一の閏の日です。