PersianCalendar Class
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.
Represents the Persian calendar.
public ref class PersianCalendar : System::Globalization::Calendar
public class PersianCalendar : System.Globalization.Calendar
[System.Serializable]
public class PersianCalendar : System.Globalization.Calendar
type PersianCalendar = class
inherit Calendar
[<System.Serializable>]
type PersianCalendar = class
inherit Calendar
Public Class PersianCalendar
Inherits Calendar
- Inheritance
- Attributes
Examples
The following example instantiates DateTime objects by using the DateTime.Now property, a DateTime constructor, and the Persian calendar's ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) method. It then displays these dates in both the Gregorian and Persian calendars. It also displays the date range of the Persian calendar.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
PersianCalendar pc = new PersianCalendar();
DateTime thisDate = DateTime.Now;
// Display the current date using the Gregorian and Persian calendars.
Console.WriteLine("Today in the Gregorian Calendar: {0:dddd}, {0}", thisDate);
Console.WriteLine("Today in the Persian Calendar: {0}, {1}/{2}/{3} {4}:{5}:{6}\n",
pc.GetDayOfWeek(thisDate),
pc.GetMonth(thisDate),
pc.GetDayOfMonth(thisDate),
pc.GetYear(thisDate),
pc.GetHour(thisDate),
pc.GetMinute(thisDate),
pc.GetSecond(thisDate));
// Create a date using the Gregorian calendar.
thisDate = new DateTime(2013, 5, 28, 10, 35, 0);
Console.WriteLine("Gregorian Calendar: {0:D} ", thisDate);
Console.WriteLine("Persian Calendar: {0}, {1}/{2}/{3} {4}:{5}:{6}\n",
pc.GetDayOfWeek(thisDate),
pc.GetMonth(thisDate),
pc.GetDayOfMonth(thisDate),
pc.GetYear(thisDate),
pc.GetHour(thisDate),
pc.GetMinute(thisDate),
pc.GetSecond(thisDate));
// Create a date using the Persian calendar.
thisDate = pc.ToDateTime(1395, 4, 22, 12, 30, 0, 0);
Console.WriteLine("Gregorian Calendar: {0:D} ", thisDate);
Console.WriteLine("Persian Calendar: {0}, {1}/{2}/{3} {4}:{5}:{6}\n",
pc.GetDayOfWeek(thisDate),
pc.GetMonth(thisDate),
pc.GetDayOfMonth(thisDate),
pc.GetYear(thisDate),
pc.GetHour(thisDate),
pc.GetMinute(thisDate),
pc.GetSecond(thisDate));
// Show the Persian Calendar date range.
Console.WriteLine("Minimum Persian Calendar date (Gregorian Calendar): {0:D} ",
pc.MinSupportedDateTime);
Console.WriteLine("Minimum Persian Calendar date (Persian Calendar): " +
"{0}, {1}/{2}/{3} {4}:{5}:{6}\n",
pc.GetDayOfWeek(pc.MinSupportedDateTime),
pc.GetMonth(pc.MinSupportedDateTime),
pc.GetDayOfMonth(pc.MinSupportedDateTime),
pc.GetYear(pc.MinSupportedDateTime),
pc.GetHour(pc.MinSupportedDateTime),
pc.GetMinute(pc.MinSupportedDateTime),
pc.GetSecond(pc.MinSupportedDateTime));
Console.WriteLine("Maximum Persian Calendar date (Gregorian Calendar): {0:D} ",
pc.MaxSupportedDateTime);
Console.WriteLine("Maximum Persian Calendar date (Persian Calendar): " +
"{0}, {1}/{2}/{3} {4}:{5}:{6}\n",
pc.GetDayOfWeek(pc.MaxSupportedDateTime),
pc.GetMonth(pc.MaxSupportedDateTime),
pc.GetDayOfMonth(pc.MaxSupportedDateTime),
pc.GetYear(pc.MaxSupportedDateTime),
pc.GetHour(pc.MinSupportedDateTime),
pc.GetMinute(pc.MaxSupportedDateTime),
pc.GetSecond(pc.MaxSupportedDateTime));
}
}
// The example displays the following output when run under the .NET Framework 4.6:
// Today in the Gregorian Calendar: Monday, 2/4/2013 9:11:36 AM
// Today in the Persian Calendar: Monday, 11/16/1391 9:11:36
//
// Gregorian Calendar: Tuesday, May 28, 2013
// Persian Calendar: Tuesday, 3/7/1392 10:35:0
//
// Gregorian Calendar: Tuesday, July 12, 2016
// Persian Calendar: Tuesday, 4/22/1395 12:30:0
//
// Minimum Persian Calendar date (Gregorian Calendar): Friday, March 22, 0622
// Minimum Persian Calendar date (Persian Calendar): Friday, 1/1/1 0:0:0
//
// Maximum Persian Calendar date (Gregorian Calendar): Friday, December 31, 9999
// Maximum Persian Calendar date (Persian Calendar): Friday, 10/13/9378 0:59:59
//
// The example displays the following output when run under versions of
// the .NET Framework before the .NET Framework 4.6:
// Today in the Gregorian Calendar: Monday, 2/4/2013 9:11:36 AM
// Today in the Persian Calendar: Monday, 11/16/1391 9:11:36
//
// Gregorian Calendar: Tuesday, May 28, 2013
// Persian Calendar: Tuesday, 3/7/1392 10:35:0
//
// Gregorian Calendar: Tuesday, July 12, 2016
// Persian Calendar: Tuesday, 4/22/1395 12:30:0
//
// Minimum Persian Calendar date (Gregorian Calendar): Thursday, March 21, 0622
// Minimum Persian Calendar date (Persian Calendar): Thursday, 1/1/1 0:0:0
//
// Maximum Persian Calendar date (Gregorian Calendar): Friday, December 31, 9999
// Maximum Persian Calendar date (Persian Calendar): Friday, 10/10/9378 0:59:59
Imports System.Globalization
Module Example
Public Sub Main()
Dim pc As New PersianCalendar()
Dim thisDate As Date = Date.Now
' Display the current date using the Gregorian and Persian calendars.
Console.WriteLine("Today in the Gregorian Calendar: {0:dddd}, {0}", thisDate)
Console.WriteLine("Today in the Persian Calendar: {0}, {1}/{2}/{3} {4}:{5}:{6}",
pc.GetDayOfWeek(thisDate),
pc.GetMonth(thisDate),
pc.GetDayOfMonth(thisDate),
pc.GetYear(thisDate),
pc.GetHour(thisDate),
pc.GetMinute(thisDate),
pc.GetSecond(thisDate))
Console.WriteLine()
' Create a date using the Gregorian calendar.
thisDate = New DateTime(2013, 5, 28, 10, 35, 0)
Console.WriteLine("Gregorian Calendar: {0:D} ", thisDate)
Console.WriteLine("Persian Calendar: {0}, {1}/{2}/{3} {4}:{5}:{6}",
pc.GetDayOfWeek(thisDate),
pc.GetMonth(thisDate),
pc.GetDayOfMonth(thisDate),
pc.GetYear(thisDate),
pc.GetHour(thisDate),
pc.GetMinute(thisDate),
pc.GetSecond(thisDate))
Console.WriteLine()
' Create a date using the Persian calendar.
thisDate = pc.ToDateTime(1395, 4, 22, 12, 30, 0, 0)
Console.WriteLine("Gregorian Calendar: {0:D} ", thisDate)
Console.WriteLine("Persian Calendar: {0}, {1}/{2}/{3} {4}:{5}:{6}",
pc.GetDayOfWeek(thisDate),
pc.GetMonth(thisDate),
pc.GetDayOfMonth(thisDate),
pc.GetYear(thisDate),
pc.GetHour(thisDate),
pc.GetMinute(thisDate),
pc.GetSecond(thisDate))
Console.WriteLine()
' Show the Persian Calendar date range.
Console.WriteLine("Minimum Persian Calendar date (Gregorian Calendar): {0:D} ",
pc.MinSupportedDateTime)
Console.WriteLine("Minimum Persian Calendar date (Persian Calendar): " +
"{0}, {1}/{2}/{3} {4}:{5}:{6}",
pc.GetDayOfWeek(pc.MinSupportedDateTime),
pc.GetMonth(pc.MinSupportedDateTime),
pc.GetDayOfMonth(pc.MinSupportedDateTime),
pc.GetYear(pc.MinSupportedDateTime),
pc.GetHour(pc.MinSupportedDateTime),
pc.GetMinute(pc.MinSupportedDateTime),
pc.GetSecond(pc.MinSupportedDateTime))
Console.WriteLine()
Console.WriteLine("Maximum Persian Calendar date (Gregorian Calendar): {0:D} ",
pc.MaxSupportedDateTime)
Console.WriteLine("Maximum Persian Calendar date (Persian Calendar): " +
"{0}, {1}/{2}/{3} {4}:{5}:{6}",
pc.GetDayOfWeek(pc.MaxSupportedDateTime),
pc.GetMonth(pc.MaxSupportedDateTime),
pc.GetDayOfMonth(pc.MaxSupportedDateTime),
pc.GetYear(pc.MaxSupportedDateTime),
pc.GetHour(pc.MinSupportedDateTime),
pc.GetMinute(pc.MaxSupportedDateTime),
pc.GetSecond(pc.MaxSupportedDateTime))
Console.WriteLine()
End Sub
End Module
' The example displays the following output when run under the .NET Framework 4.6:
' Today in the Gregorian Calendar: Monday, 2/4/2013 9:11:36 AM
' Today in the Persian Calendar: Monday, 11/16/1391 9:11:36
'
' Gregorian Calendar: Tuesday, May 28, 2013
' Persian Calendar: Tuesday, 3/7/1392 10:35:0
'
' Gregorian Calendar: Tuesday, July 12, 2016
' Persian Calendar: Tuesday, 4/22/1395 12:30:0
'
' Minimum Persian Calendar date (Gregorian Calendar): Friday, March 22, 0622
' Minimum Persian Calendar date (Persian Calendar): Friday, 1/1/1 0:0:0
'
' Maximum Persian Calendar date (Gregorian Calendar): Friday, December 31, 9999
' Maximum Persian Calendar date (Persian Calendar): Friday, 10/13/9378 0:59:59
'
' The example displays the following output when run under versions of
' the .NET Framework before the .NET Framework 4.6:
' Today in the Gregorian Calendar: Monday, 2/4/2013 9:11:36 AM
' Today in the Persian Calendar: Monday, 11/16/1391 9:11:36
'
' Gregorian Calendar: Tuesday, May 28, 2013
' Persian Calendar: Tuesday, 3/7/1392 10:35:0
'
' Gregorian Calendar: Tuesday, July 12, 2016
' Persian Calendar: Tuesday, 4/22/1395 12:30:0
'
' Minimum Persian Calendar date (Gregorian Calendar): Thursday, March 21, 0622
' Minimum Persian Calendar date (Persian Calendar): Thursday, 1/1/1 0:0:0
'
' Maximum Persian Calendar date (Gregorian Calendar): Friday, December 31, 9999
' Maximum Persian Calendar date (Persian Calendar): Friday, 10/10/9378 0:59:59
The following example demonstrates the field, property, and method members of the PersianCalendar class.
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
For more information about this API, see Supplemental API remarks for PersianCalendar.
Constructors
PersianCalendar() |
Initializes a new instance of the PersianCalendar class. |
Fields
CurrentEra |
Represents the current era of the current calendar. The value of this field is 0. (Inherited from Calendar) |
PersianEra |
Represents the current era. This field is constant. |
Properties
AlgorithmType |
Gets a value indicating whether the current calendar is solar-based, lunar-based, or lunisolar-based. |
AlgorithmType |
Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. (Inherited from Calendar) |
DaysInYearBeforeMinSupportedYear |
Gets the number of days in the year that precedes the year that is specified by the MinSupportedDateTime property. (Inherited from Calendar) |
Eras |
Gets the list of eras in a PersianCalendar object. |
IsReadOnly |
Gets a value indicating whether this Calendar object is read-only. (Inherited from Calendar) |
MaxSupportedDateTime |
Gets the latest date and time supported by the PersianCalendar class. |
MinSupportedDateTime |
Gets the earliest date and time supported by the PersianCalendar class. |
TwoDigitYearMax |
Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. |
Methods
AddDays(DateTime, Int32) |
Returns a DateTime that is the specified number of days away from the specified DateTime. (Inherited from Calendar) |
AddHours(DateTime, Int32) |
Returns a DateTime that is the specified number of hours away from the specified DateTime. (Inherited from Calendar) |
AddMilliseconds(DateTime, Double) |
Returns a DateTime that is the specified number of milliseconds away from the specified DateTime. (Inherited from Calendar) |
AddMinutes(DateTime, Int32) |
Returns a DateTime that is the specified number of minutes away from the specified DateTime. (Inherited from Calendar) |
AddMonths(DateTime, Int32) |
Returns a DateTime object that is offset the specified number of months from the specified DateTime object. |
AddSeconds(DateTime, Int32) |
Returns a DateTime that is the specified number of seconds away from the specified DateTime. (Inherited from Calendar) |
AddWeeks(DateTime, Int32) |
Returns a DateTime that is the specified number of weeks away from the specified DateTime. (Inherited from Calendar) |
AddYears(DateTime, Int32) |
Returns a DateTime object that is offset the specified number of years from the specified DateTime object. |
Clone() |
Creates a new object that is a copy of the current Calendar object. (Inherited from Calendar) |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetDayOfMonth(DateTime) |
Returns the day of the month in the specified DateTime object. |
GetDayOfWeek(DateTime) |
Returns the day of the week in the specified DateTime object. |
GetDayOfYear(DateTime) |
Returns the day of the year in the specified DateTime object. |
GetDaysInMonth(Int32, Int32) |
Returns the number of days in the specified month and year of the current era. (Inherited from Calendar) |
GetDaysInMonth(Int32, Int32, Int32) |
Returns the number of days in the specified month of the specified year and era. |
GetDaysInYear(Int32) |
Returns the number of days in the specified year of the current era. (Inherited from Calendar) |
GetDaysInYear(Int32, Int32) |
Returns the number of days in the specified year of the specified era. |
GetEra(DateTime) |
Returns the era in the specified DateTime object. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetHour(DateTime) |
Returns the hours value in the specified DateTime. (Inherited from Calendar) |
GetLeapMonth(Int32) |
Calculates the leap month for a specified year. (Inherited from Calendar) |
GetLeapMonth(Int32, Int32) |
Returns the leap month for a specified year and era. |
GetMilliseconds(DateTime) |
Returns the milliseconds value in the specified DateTime. (Inherited from Calendar) |
GetMinute(DateTime) |
Returns the minutes value in the specified DateTime. (Inherited from Calendar) |
GetMonth(DateTime) |
Returns the month in the specified DateTime object. |
GetMonthsInYear(Int32) |
Returns the number of months in the specified year in the current era. (Inherited from Calendar) |
GetMonthsInYear(Int32, Int32) |
Returns the number of months in the specified year of the specified era. |
GetSecond(DateTime) |
Returns the seconds value in the specified DateTime. (Inherited from Calendar) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek) |
Returns the week of the year that includes the date in the specified DateTime value. (Inherited from Calendar) |
GetYear(DateTime) |
Returns the year in the specified DateTime object. |
IsLeapDay(Int32, Int32, Int32) |
Determines whether the specified date in the current era is a leap day. (Inherited from Calendar) |
IsLeapDay(Int32, Int32, Int32, Int32) |
Determines whether the specified date is a leap day. |
IsLeapMonth(Int32, Int32) |
Determines whether the specified month in the specified year in the current era is a leap month. (Inherited from Calendar) |
IsLeapMonth(Int32, Int32, Int32) |
Determines whether the specified month in the specified year and era is a leap month. |
IsLeapYear(Int32) |
Determines whether the specified year in the current era is a leap year. (Inherited from Calendar) |
IsLeapYear(Int32, Int32) |
Determines whether the specified year in the specified era is a leap year. |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
Returns a DateTime that is set to the specified date and time in the current era. (Inherited from Calendar) |
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
Returns a DateTime object that is set to the specified date, time, and era. |
ToFourDigitYear(Int32) |
Converts the specified year to a four-digit year representation. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |