JulianCalendar.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 System;
using System.Globalization;
public class SamplesJulianCalendar {
public static void Main() {
// Creates and initializes a JulianCalendar.
JulianCalendar myCal = new JulianCalendar();
// 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++ )
Console.Write( "\t{0}", myCal.IsLeapYear( y, 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++ )
Console.Write( "\t{0}", myCal.IsLeapYear( y, 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()
' 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
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, 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
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapYear(y, 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
Комментарии
В отличие от григорианского календаря, джулианский календарь определяет високосный год как год, который равномерно делится на четыре без исключений. Таким образом, календарь неточен на один день каждые 128 лет. Например, год 1999 года не был високосным годом, но годом 2000 был. Общий год имеет 365 дней, и високосный год имеет 366 дней.