HijriCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Determina se a data especificada é um dia bissexto.
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
Parâmetros
- year
- Int32
Um inteiro que representa o ano.
- month
- Int32
Um inteiro de 1 a 12 que representa o mês.
- day
- Int32
Um inteiro de 1 a 30 que representa o dia.
- era
- Int32
Um inteiro que representa a era.
Retornos
true
se o dia especificado for um dia bissexto; caso contrário, false
.
Exceções
era
está fora do intervalo com suporte por esse calendário.
- ou -
year
está fora do intervalo com suporte por esse calendário.
- ou -
month
está fora do intervalo com suporte por esse calendário.
- ou -
day
está fora do intervalo com suporte por esse calendário.
Exemplos
O exemplo de código a seguir chama o IsLeapDay
método para o último dia do segundo mês (fevereiro) por cinco anos em cada uma das eras.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates and initializes a HijriCalendar.
HijriCalendar^ myCal = gcnew HijriCalendar;
// Creates a holder for the last day of the second month (February).
int iLastDay;
// Displays the header.
Console::Write( "YEAR\t" );
for ( int y = 1421; y <= 1425; y++ )
Console::Write( "\t {0}", y );
Console::WriteLine();
// Checks five years in the current era.
Console::Write( "CurrentEra:" );
for ( int y = 1421; y <= 1425; y++ )
{
iLastDay = myCal->GetDaysInMonth( y, 2, HijriCalendar::CurrentEra );
Console::Write( "\t {0}", myCal->IsLeapDay( y, 2, iLastDay, HijriCalendar::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 = 1421; y <= 1425; 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 1421 1422 1423 1424 1425
CurrentEra: False False False False False
Era 1: False False False False False
*/
using System;
using System.Globalization;
public class SamplesHijriCalendar {
public static void Main() {
// Creates and initializes a HijriCalendar.
HijriCalendar myCal = new HijriCalendar();
// Creates a holder for the last day of the second month (February).
int iLastDay;
// Displays the header.
Console.Write( "YEAR\t" );
for ( int y = 1421; y <= 1425; y++ )
Console.Write( "\t{0}", y );
Console.WriteLine();
// Checks five years in the current era.
Console.Write( "CurrentEra:" );
for ( int y = 1421; y <= 1425; y++ ) {
iLastDay = myCal.GetDaysInMonth( y, 2, HijriCalendar.CurrentEra );
Console.Write( "\t{0}", myCal.IsLeapDay( y, 2, iLastDay, HijriCalendar.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 = 1421; y <= 1425; 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 1421 1422 1423 1424 1425
CurrentEra: False False False False False
Era 1: False False False False False
*/
Imports System.Globalization
Public Class SamplesHijriCalendar
Public Shared Sub Main()
' Creates and initializes a HijriCalendar.
Dim myCal As New HijriCalendar()
' 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 = 1421 To 1425
Console.Write(ControlChars.Tab + "{0}", y)
Next y
Console.WriteLine()
' Checks five years in the current era.
Console.Write("CurrentEra:")
For y = 1421 To 1425
iLastDay = myCal.GetDaysInMonth(y, 2, HijriCalendar.CurrentEra)
Console.Write(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, HijriCalendar.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 = 1421 To 1425
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 1421 1422 1423 1424 1425
'CurrentEra: False False False False False
'Era 1: False False False False False
Comentários
Em cada ciclo de 30 anos que termina com um ano uniformemente divisível por 30, o 2º, 5º, 7º, 10º, 13º, 16º, 18º, 21º, 24º, 26º e 29º anos são anos bissextos. Um ano comum tem 354 dias e um ano bissexto tem 355 dias.
Um dia bissexto é um dia que ocorre apenas em um ano bissexto. No calendário Hijri, o 30º dia de Zulhijjah é o único dia bissexto.