PersianCalendar.IsLeapDay(Int32, Int32, Int32, Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Determines whether the specified date is a leap day.
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
Parameters
- year
- Int32
An integer from 1 through 9378 that represents the year.
- month
- Int32
An integer that represents the month and ranges from 1 through 12 if year
is not 9378, or 1 through 10 if year
is 9378.
- day
- Int32
An integer from 1 through 31 that represents the day.
- era
- Int32
An integer from 0 through 1 that represents the era.
Returns
true
if the specified day is a leap day; otherwise, false
.
Exceptions
year
, month
, day
, or era
is outside the range supported by this calendar.
Examples
The following code example demonstrates the use of the IsLeapDay method.
using System;
using System.Globalization;
class Sample
{
public static void Main()
{
PersianCalendar jc = new PersianCalendar();
DateTime thisDate = DateTime.Now;
//--------------------------------------------------------------------------------
// Properties
//--------------------------------------------------------------------------------
Console.WriteLine("\n........... Selected Properties .....................\n");
Console.Write("Eras:");
foreach (int era in jc.Eras)
{
Console.WriteLine(" era = {0}", era);
}
//--------------------------------------------------------------------------------
Console.WriteLine("\nTwoDigitYearMax = {0}", jc.TwoDigitYearMax);
//--------------------------------------------------------------------------------
// Methods
//--------------------------------------------------------------------------------
Console.WriteLine("\n............ Selected Methods .......................\n");
//--------------------------------------------------------------------------------
Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
//--------------------------------------------------------------------------------
Console.WriteLine("GetDaysInMonth: days = {0}",
jc.GetDaysInMonth( thisDate.Year, thisDate.Month,
PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("GetDaysInYear: days = {0}",
jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("GetLeapMonth: leap month (if any) = {0}",
jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
//-------------------------------------------------------------
Console.WriteLine("GetMonthsInYear: months in a year = {0}",
jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("IsLeapDay: This is a leap day = {0}",
jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day,
PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("IsLeapMonth: This is a leap month = {0}",
jc.IsLeapMonth(thisDate.Year, thisDate.Month,
PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}",
jc.IsLeapYear(1370, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
// Get the 4-digit year for a year whose last two digits are 99. The 4-digit year
// depends on the current value of the TwoDigitYearMax property.
Console.WriteLine("ToFourDigitYear:");
Console.WriteLine(" If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
jc.TwoDigitYearMax = thisDate.Year;
Console.WriteLine(" If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
}
}
// The example displays the following output:
// ........... Selected Properties .....................
//
// Eras: era = 1
//
// TwoDigitYearMax = 99
//
// ............ Selected Methods .......................
//
// GetDayOfYear: day = 1
// GetDaysInMonth: days = 31
// GetDaysInYear: days = 365
// GetLeapMonth: leap month (if any) = 0
// GetMonthsInYear: months in a year = 12
// IsLeapDay: This is a leap day = False
// IsLeapMonth: This is a leap month = False
// IsLeapYear: 1370 is a leap year = True
// ToFourDigitYear:
// If TwoDigitYearMax = 99, ToFourDigitYear(99) = 99
// If TwoDigitYearMax = 2012, ToFourDigitYear(99) = 1999
Imports System.Globalization
Class Sample
Public Shared Sub Main()
'--------------------------------------------------------------------------------
' Get today's date.
'--------------------------------------------------------------------------------
Dim jc As New PersianCalendar()
Dim thisDate As Date = Date.Now
'--------------------------------------------------------------------------------
' Properties
'--------------------------------------------------------------------------------
Console.WriteLine(vbCrLf & _
"........... Selected Properties ....................." & vbCrLf)
Console.Write("Eras:")
Dim era As Integer
For Each era In jc.Eras
Console.WriteLine(" era = {0}", era)
Next era
'--------------------------------------------------------------------------------
Console.WriteLine("TwoDigitYearMax = {0}", jc.TwoDigitYearMax)
'--------------------------------------------------------------------------------
' Methods
'--------------------------------------------------------------------------------
Console.WriteLine(vbCrLf & _
"............ Selected Methods ......................." & vbCrLf)
'--------------------------------------------------------------------------------
Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate))
'--------------------------------------------------------------------------------
Console.WriteLine("GetDaysInMonth: days = {0}", _
jc.GetDaysInMonth(thisDate.Year, _
thisDate.Month, _
PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
Console.WriteLine("GetDaysInYear: days = {0}", _
jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
Console.WriteLine("GetLeapMonth: leap month (if any) = {0}", _
jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
Console.WriteLine("GetMonthsInYear: months in a year = {0}", _
jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
Console.WriteLine("IsLeapDay: This is a leap day = {0}", _
jc.IsLeapDay(thisDate.Year, _
thisDate.Month, thisDate.Day, _
PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
Console.WriteLine("IsLeapMonth: This is a leap month = {0}", _
jc.IsLeapMonth(thisDate.Year, _
thisDate.Month, _
PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}", _
jc.IsLeapYear(1370, PersianCalendar.PersianEra))
'--------------------------------------------------------------------------------
' Get the 4-digit year for a year whose last two digits are 99. The 4-digit year
' depends on the current value of the TwoDigitYearMax property.
Console.WriteLine("ToFourDigitYear:")
Console.WriteLine(" If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", _
jc.TwoDigitYearMax, jc.ToFourDigitYear(99))
jc.TwoDigitYearMax = thisDate.Year
Console.WriteLine(" If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", _
jc.TwoDigitYearMax, jc.ToFourDigitYear(99))
End Sub
End Class
' The example displays output like the following:
' ........... Seleted Properties .....................
'
' Eras: era = 1
'
' TwoDigitYearMax = 99
'
' ............ Selected Methods .......................
'
' GetDayOfYear: day = 1
' GetDaysInMonth: days = 31
' GetDaysInYear: days = 365
' GetLeapMonth: leap month (if any) = 0
' GetMonthsInYear: months in a year = 12
' IsLeapDay: This is a leap day = False
' IsLeapMonth: This is a leap month = False
' IsLeapYear: 1370 is a leap year = True
' ToFourDigitYear:
' If TwoDigitYearMax = 99, ToFourDigitYear(99) = 99
' If TwoDigitYearMax = 2012, ToFourDigitYear(99) = 1999
Remarks
A leap day is a day that occurs only in a leap year.