GregorianCalendar.IsLeapMonth(Int32, Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定指定纪元中指定年份的指定月份是否为闰月。
public:
override bool IsLeapMonth(int year, int month, int era);
public override bool IsLeapMonth (int year, int month, int era);
override this.IsLeapMonth : int * int * int -> bool
Public Overrides Function IsLeapMonth (year As Integer, month As Integer, era As Integer) As Boolean
参数
- year
- Int32
一个整数,用于表示年份。
- month
- Int32
1 到 12 之间的一个整数,用于表示月份。
- era
- Int32
一个整数,用于表示纪元。
返回
除非被派生类重写,否则此方法始终返回 false
。
例外
示例
下面的代码示例为当前时代五年内的所有月份调用 IsLeapMonth。
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a GregorianCalendar.
GregorianCalendar^ myCal = gcnew GregorianCalendar;
// Checks all the months in five years in the current era.
int iMonthsInYear;
for ( int y = 2001; y <= 2005; y++ )
{
Console::Write( " {0}:\t", y );
iMonthsInYear = myCal->GetMonthsInYear( y, GregorianCalendar::CurrentEra );
for ( int m = 1; m <= iMonthsInYear; m++ )
Console::Write( "\t {0}", myCal->IsLeapMonth( y, m, GregorianCalendar::CurrentEra ) );
Console::WriteLine();
}
}
/*
This code produces the following output.
2001: False False False False False False False False False False False False
2002: False False False False False False False False False False False False
2003: False False False False False False False False False False False False
2004: False False False False False False False False False False False False
2005: False False False False False False False False False False False False
*/
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Creates and initializes a GregorianCalendar.
GregorianCalendar myCal = new GregorianCalendar();
// Checks all the months in five years in the current era.
int iMonthsInYear;
for ( int y = 2001; y <= 2005; y++ ) {
Console.Write( "{0}:\t", y );
iMonthsInYear = myCal.GetMonthsInYear( y, GregorianCalendar.CurrentEra );
for ( int m = 1; m <= iMonthsInYear; m++ )
Console.Write( "\t{0}", myCal.IsLeapMonth( y, m, GregorianCalendar.CurrentEra ) );
Console.WriteLine();
}
}
}
/*
This code produces the following output.
2001: False False False False False False False False False False False False
2002: False False False False False False False False False False False False
2003: False False False False False False False False False False False False
2004: False False False False False False False False False False False False
2005: False False False False False False False False False False False False
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Creates and initializes a GregorianCalendar.
Dim myCal As New GregorianCalendar()
' Checks all the months in five years in the current era.
Dim iMonthsInYear As Integer
Dim y As Integer
For y = 2001 To 2005
Console.Write("{0}:" + ControlChars.Tab, y)
iMonthsInYear = myCal.GetMonthsInYear(y, GregorianCalendar.CurrentEra)
Dim m As Integer
For m = 1 To iMonthsInYear
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapMonth(y, m, GregorianCalendar.CurrentEra))
Next m
Console.WriteLine()
Next y
End Sub
End Class
'This code produces the following output.
'
'2001: False False False False False False False False False False False False
'2002: False False False False False False False False False False False False
'2003: False False False False False False False False False False False False
'2004: False False False False False False False False False False False False
'2005: False False False False False False False False False False False False
注解
公历中的闰年定义为可均匀除以 4 的年份,除非它被 100 除。 但是,可除以 400 的年是闰年。 例如,1900 年不是闰年,而是 2000 年。 普通年份有 365 天,闰年有 366 天。
闰月是仅发生在闰年的整个月份。 公历没有任何闰月。