HijriCalendar.IsLeapDay Method (Int32, Int32, Int32, Int32)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Determines whether the specified date is a leap day.
Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function IsLeapDay ( _
year As Integer, _
month As Integer, _
day As Integer, _
era As Integer _
) As Boolean
public override bool IsLeapDay(
int year,
int month,
int day,
int era
)
Parameters
- year
Type: System.Int32
An integer that represents the year.
- month
Type: System.Int32
An integer from 1 to 12 that represents the month.
- day
Type: System.Int32
An integer from 1 to 30 that represents the day.
- era
Type: System.Int32
An integer that represents the era.
Return Value
Type: System.Boolean
true if the specified day is a leap day; otherwise, false.
Exceptions
Exception | Condition |
---|---|
ArgumentOutOfRangeException | era is outside the range supported by this calendar. -or- year is outside the range supported by this calendar. -or- month is outside the range supported by this calendar. -or- day is outside the range supported by this calendar. |
Remarks
In every 30-year cycle that ends with a year that is evenly divisible by 30, the 2nd, 5th, 7th, 10th, 13th, 16th, 18th, 21st, 24th, 26th, and 29th years are leap years. A common year has 354 days and a leap year has 355 days.
A leap day is a day that occurs only in a leap year. In the Hijri calendar, the 30th day of Zulhijjah is the only leap day.
Examples
The following code example calls the IsLeapDay method for the last day of the second month (February) for five years in each of the eras.
Imports System.Globalization
Public Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' 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.
outputBlock.Text &= "YEAR" + ControlChars.Tab
Dim y As Integer
For y = 1421 To 1425
outputBlock.Text += String.Format(ControlChars.Tab + "{0}", y)
Next y
outputBlock.Text &= vbCrLf
' Checks five years in the current era.
outputBlock.Text &= "CurrentEra:"
For y = 1421 To 1425
iLastDay = myCal.GetDaysInMonth(y, 2, HijriCalendar.CurrentEra)
outputBlock.Text += String.Format(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, HijriCalendar.CurrentEra))
Next y
outputBlock.Text &= vbCrLf
' Checks five years in each of the eras.
Dim i As Integer
For i = 0 To myCal.Eras.Length - 1
outputBlock.Text += String.Format("Era {0}:" + ControlChars.Tab, myCal.Eras(i))
For y = 1421 To 1425
iLastDay = myCal.GetDaysInMonth(y, 2, myCal.Eras(i))
outputBlock.Text += String.Format(ControlChars.Tab + "{0}", myCal.IsLeapDay(y, 2, iLastDay, myCal.Eras(i)))
Next y
outputBlock.Text &= vbCrLf
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
using System;
using System.Globalization;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
// 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.
outputBlock.Text += "YEAR\t";
for (int y = 1421; y <= 1425; y++)
outputBlock.Text += String.Format("\t{0}", y);
outputBlock.Text += "\n";
// Checks five years in the current era.
outputBlock.Text += "CurrentEra:";
for (int y = 1421; y <= 1425; y++)
{
iLastDay = myCal.GetDaysInMonth(y, 2, HijriCalendar.CurrentEra);
outputBlock.Text += String.Format("\t{0}", myCal.IsLeapDay(y, 2, iLastDay, HijriCalendar.CurrentEra));
}
outputBlock.Text += "\n";
// Checks five years in each of the eras.
for (int i = 0; i < myCal.Eras.Length; i++)
{
outputBlock.Text += String.Format("Era {0}:\t", myCal.Eras[i]);
for (int y = 1421; y <= 1425; y++)
{
iLastDay = myCal.GetDaysInMonth(y, 2, myCal.Eras[i]);
outputBlock.Text += String.Format("\t{0}", myCal.IsLeapDay(y, 2, iLastDay, myCal.Eras[i]));
}
outputBlock.Text += "\n";
}
}
}
/*
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
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.