Export (0) Print
Expand All

PersianCalendar.IsLeapYear Method (Int32, Int32)

Determines whether the specified year in the specified era is a leap year.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Overrides Function IsLeapYear ( _
	year As Integer, _
	era As Integer _
) As Boolean

Parameters

year
Type: System.Int32

An integer from 1 through 9378 that represents the year.

era
Type: System.Int32

An integer from 0 through 1 that represents the era.

Return Value

Type: System.Boolean
true if the specified year is a leap year; otherwise, false.

ExceptionCondition
ArgumentOutOfRangeException

year or era is outside the range supported by this calendar.

Starting with the .NET Framework 4.6 RC, the implementation of the PersianCalendar class has changed from an observational algorithm to the Hijri solar algorithm. As a result, the IsLeapYear method may return different values when run on .NET Framework 4.6 RC than when run on previous versions of the .NET Framework.

The following code example demonstrates the use of the IsLeapYear method.

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft