' This example demonstrates the members of the PersianCalendar class.
Imports System.Globalization
Class Sample
Public Shared Sub Main()
'--------------------------------------------------------------------------------
' Get today's date.
'--------------------------------------------------------------------------------
Console.WriteLine(vbCrLf & _
"................. Today ..........................." & vbCrLf)
Dim jc As New PersianCalendar()
Dim thisDate As Date = Date.Now
' Display the current date using the Gregorian and Persian calendars.
Console.WriteLine("Today is:")
��� Console.WriteLine(" {0:dddd}, {0} in the Gregorian calendar.", thisDate)
Console.WriteLine(" {0}, {1}/{2}/{3} {4}:{5}:{6} in the Persian calendar.", _
jc.GetDayOfWeek(thisDate), _
jc.GetMonth(thisDate), _
jc.GetDayOfMonth(thisDate), _
jc.GetYear(thisDate), _
jc.GetHour(thisDate), _
jc.GetMinute(thisDate), _
jc.GetSecond(thisDate))
'--------------------------------------------------------------------------------
' Fields
'--------------------------------------------------------------------------------
Console.WriteLine(vbCrLf & _
"............... Fields ............................" & vbCrLf)
Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra)
'--------------------------------------------------------------------------------
' Properties
'--------------------------------------------------------------------------------
Console.WriteLine(vbCrLf & _
"............... Properties ........................." & vbCrLf)
Console.Write("Eras:")
Dim era As Integer
For Each era In jc.Eras
Console.WriteLine(" era = {0}", era)
Next era
'--------------------------------------------------------------------------------
Console.WriteLine(vbCrLf & _
"Gregorian Date Range Supported by the Persian Calendar:")
Console.WriteLine(" From {0:G}", jc.MinSupportedDateTime)
Console.WriteLine(" To {0:G}", jc.MaxSupportedDateTime)
'--------------------------------------------------------------------------------
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 'Main
End Class 'Sample
'
' If run on 2/13/2007, this code example produces the following results:
'
' ................. Today ...........................
'
' Today is:
' Tuesday, 2/13/2007 3:12:45 PM in the Gregorian calendar.
' Tuesday, 11/24/1385 15:12:45 in the Persian calendar.
'
' ............... Fields ............................
'
' PersianEra = 1
'
' ............... Properties .........................
'
' Eras: era = 1
'
' Gregorian Date Range Supported by the Persian Calendar:
' From 3/21/0622 12:00:00 AM
' To 12/31/9999 11:59:59 PM
' TwoDigitYearMax = 1410
'
' ............ Selected Methods .......................
'
' GetDayOfYear: day = 330
' 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 = 1410, ToFourDigitYear(99) = 1399
' If TwoDigitYearMax = 2007, ToFourDigitYear(99) = 1999