This topic has not yet been rated - Rate this topic

UmAlQuraCalendar Class

Represents the Saudi Hijri (Um Al Qura) calendar.

System.Object
  System.Globalization.Calendar
    System.Globalization.UmAlQuraCalendar

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
public class UmAlQuraCalendar : Calendar

The UmAlQuraCalendar type exposes the following members.

  Name Description
Public method UmAlQuraCalendar Initializes a new instance of the UmAlQuraCalendar class.
Top
  Name Description
Public property AlgorithmType Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both. (Overrides Calendar.AlgorithmType.)
Public property Eras Gets a list of the eras that are supported by the current UmAlQuraCalendar. (Overrides Calendar.Eras.)
Public property IsReadOnly Gets a value indicating whether this Calendar object is read-only. (Inherited from Calendar.)
Public property MaxSupportedDateTime Gets the latest date and time supported by this calendar. (Overrides Calendar.MaxSupportedDateTime.)
Public property MinSupportedDateTime Gets the earliest date and time supported by this calendar. (Overrides Calendar.MinSupportedDateTime.)
Public property TwoDigitYearMax Gets or sets the last year of a 100-year range that can be represented by a 2-digit year. (Overrides Calendar.TwoDigitYearMax.)
Top
  Name Description
Public method AddDays Returns a DateTime that is the specified number of days away from the specified DateTime. (Inherited from Calendar.)
Public method AddHours Returns a DateTime that is the specified number of hours away from the specified DateTime. (Inherited from Calendar.)
Public method AddMilliseconds Returns a DateTime that is the specified number of milliseconds away from the specified DateTime. (Inherited from Calendar.)
Public method AddMinutes Returns a DateTime that is the specified number of minutes away from the specified DateTime. (Inherited from Calendar.)
Public method AddMonths Calculates a date that is a specified number of months away from a specified initial date. (Overrides Calendar.AddMonths(DateTime, Int32).)
Public method AddSeconds Returns a DateTime that is the specified number of seconds away from the specified DateTime. (Inherited from Calendar.)
Public method AddWeeks Returns a DateTime that is the specified number of weeks away from the specified DateTime. (Inherited from Calendar.)
Public method AddYears Calculates a date that is a specified number of years away from a specified initial date. (Overrides Calendar.AddYears(DateTime, Int32).)
Public method Clone Creates a new object that is a copy of the current Calendar object. (Inherited from Calendar.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetDayOfMonth Calculates the day of the month on which a specified date occurs. (Overrides Calendar.GetDayOfMonth(DateTime).)
Public method GetDayOfWeek Calculates the day of the week on which a specified date occurs. (Overrides Calendar.GetDayOfWeek(DateTime).)
Public method GetDayOfYear Calculates the day of the year on which a specified date occurs. (Overrides Calendar.GetDayOfYear(DateTime).)
Public method GetDaysInMonth(Int32, Int32) Returns the number of days in the specified month and year of the current era. (Inherited from Calendar.)
Public method GetDaysInMonth(Int32, Int32, Int32) Calculates the number of days in the specified month of the specified year and era. (Overrides Calendar.GetDaysInMonth(Int32, Int32, Int32).)
Public method GetDaysInYear(Int32) Returns the number of days in the specified year of the current era. (Inherited from Calendar.)
Public method GetDaysInYear(Int32, Int32) Calculates the number of days in the specified year of the specified era. (Overrides Calendar.GetDaysInYear(Int32, Int32).)
Public method GetEra Calculates the era in which a specified date occurs. (Overrides Calendar.GetEra(DateTime).)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetHour Returns the hours value in the specified DateTime. (Inherited from Calendar.)
Public method GetLeapMonth(Int32) Calculates the leap month for a specified year. (Inherited from Calendar.)
Public method GetLeapMonth(Int32, Int32) Calculates the leap month for a specified year and era. (Overrides Calendar.GetLeapMonth(Int32, Int32).)
Public method GetMilliseconds Returns the milliseconds value in the specified DateTime. (Inherited from Calendar.)
Public method GetMinute Returns the minutes value in the specified DateTime. (Inherited from Calendar.)
Public method GetMonth Calculates the month in which a specified date occurs. (Overrides Calendar.GetMonth(DateTime).)
Public method GetMonthsInYear(Int32) Returns the number of months in the specified year in the current era. (Inherited from Calendar.)
Public method GetMonthsInYear(Int32, Int32) Calculates the number of months in the specified year of the specified era. (Overrides Calendar.GetMonthsInYear(Int32, Int32).)
Public method GetSecond Returns the seconds value in the specified DateTime. (Inherited from Calendar.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method GetWeekOfYear Returns the week of the year that includes the date in the specified DateTime value. (Inherited from Calendar.)
Public method GetYear Calculates the year of a date represented by a specified DateTime. (Overrides Calendar.GetYear(DateTime).)
Public method IsLeapDay(Int32, Int32, Int32) Determines whether the specified date in the current era is a leap day. (Inherited from Calendar.)
Public method IsLeapDay(Int32, Int32, Int32, Int32) Determines whether the specified date is a leap day. (Overrides Calendar.IsLeapDay(Int32, Int32, Int32, Int32).)
Public method IsLeapMonth(Int32, Int32) Determines whether the specified month in the specified year in the current era is a leap month. (Inherited from Calendar.)
Public method IsLeapMonth(Int32, Int32, Int32) Determines whether the specified month in the specified year and era is a leap month. (Overrides Calendar.IsLeapMonth(Int32, Int32, Int32).)
Public method IsLeapYear(Int32) Determines whether the specified year in the current era is a leap year. (Inherited from Calendar.)
Public method IsLeapYear(Int32, Int32) Determines whether the specified year in the specified era is a leap year. (Overrides Calendar.IsLeapYear(Int32, Int32).)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method 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.)
Public method ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) Returns a DateTime that is set to the specified date, time, and era. (Overrides Calendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32).)
Public method ToFourDigitYear Converts the specified year to a four-digit year by using the TwoDigitYearMax property to determine the appropriate century. (Overrides Calendar.ToFourDigitYear(Int32).)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public field Static member UmAlQuraEra Represents the current era. This field is constant.
Top

The UmAlQuraCalendar class is nearly identical to the HijriCalendar class, except the Saudi Hijri calendar uses a table-based algorithm licensed from the Saudi government to calculate dates, can express dates to the year 1450 A.H., and does not support the HijriAdjustment property.

For the UmAlQuraCalendar class, each month has either 29 or 30 days, but usually in no discernible order. Whereas the documentation for the Hijri Calendar gives a table that shows the corresponding days in each month, no such general table can be produced for the Um Al Qura calendar.

For more information about the Hijri calendar, see the HijriCalendar class.

Note   The UmAlQuraCalendar class supports only dates from 04/30/1900 00.00.00 (Gregorian date) through 05/13/2029 23:59:59 (Gregorian date).

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
UmAlQuraCalendar Sample Using PowerShell
<#
.SYNOPSIS
This script displays details of a UmAlQura Calendar in PowerShell
.DESCRIPTION
This script shows the various aspects of this calendar inclusing key properties,
fields and selected methods.
.NOTES
File Name : Get-UmAlQuraCalendar.ps1
Author : Thomas Lee - tfl@psp.co.uk
Requires : PowerShell Version 2.0
.LINK
This script posted to:
http://www.pshscripts.blogspot.com
MSDN Sample posted at:

.EXAMPLE
PSH [C:\foo]: . 'E:\PowerShellScriptLib\System.Globalization\Get-UmAlQuraCalendar.ps1'
Um Al Qura Calendar
Algorithm Type : LunarCalendar
Eras in Calendar : 1
Is read only? : False
Max Supported Date/Time : 5/13/2029 11:59:59 PM
Min Supported Date/Time : 4/30/1900 12:00:00 AM
Two Digit Year Max : 1451

April 3, 2002 of the Gregorian calendar equals the following in the UmAlQura calendar:
Era: 1
Year: 1423
Is Leap Year? False
Days In Year: 354
Month: 1
Months in Year: 12
Days in Month: 29
Leap Month: 0
DayOfYear: 20
DayOfMonth: 20
DayOfWeek: Wednesday

After adding two years and ten months and one day:
Era: 1
Year: 1425
Is Leap Year? True
Days In Year: 355
Month: 11
Months in Year: 12
Days in Month: 30
Leap Month: 0
DayOfYear: 317
DayOfMonth: 21
DayOfWeek: Sunday
#>

# Helper Function
Function DisplayValues {
param ($MyCal, $MyDT )

" Era: {0}" -f $MyCal.GetEra($MyDT)
" Year: {0}" -f $MyCal.GetYear($MyDT)
" Is Leap Year? {0}" -f $MyCal.IsLeapYear($MyCal.GetYear($MyDT))
" Days In Year: {0}" -f $MyCal.GetDaysInYear($MyCal.GetYear($MyDT))
" Month: {0}" -f $MyCal.GetMonth($MyDT)
" Months in Year: {0}" -f $MyCal.GetMonthsInYear($MyCal.GetYear($MyDT))
" Days in Month: {0}" -f $MyCal.GetDaysInMonth($MyCal.GetYear($MyDT), $MyDT.Month)
" Leap Month: {0}" -f $MyCal.GetLeapMonth($MyCal.GetYear($MyDT))
" DayOfYear: {0}" -f $MyCal.GetDayOfYear($MyDT)
" DayOfMonth: {0}" -f $MyCal.GetDayOfMonth($MyDT)
" DayOfWeek: {0}" -f $MyCal.GetDayOfWeek($MyDT)
""
}

# Sets a DateTime to April 3, 2002 of the Gregorian calendar.
$MyDT = New-Object System.DateTime 2002, 4, 3, (New-Object System.Globalization.GregorianCalendar)

# Creates an instance of the UmAlQuraCalendar.
$MyCal = New-Object System.Globalization.UmAlQuraCalendar
# Display properties of the calendar
"Um Al Qura Calendar"
"Algorithm Type : {0}" -f $MyCal.AlgorithmType
"Eras in Calendar : {0}" -f $MyCal.Eras.count
"Is read only? : {0}" -f $MyCal.IsReadOnly
"Max Supported Date/Time : {0}" -f $MyCal.MaxSupportedDateTime
"Min Supported Date/Time : {0}" -f $MyCal.MinSupportedDateTime
"Two Digit Year Max : {0}" -f $MyCal.TwoDigitYearMax
""

# Display the values of the DateTime.
"April 3, 2002 of the Gregorian calendar equals the following in the UmAlQura calendar:"
DisplayValues $MyCal $MyDT

# Adds two years and ten months and one Day.
$MyDT = $MyCal.AddYears( $MyDT, 2 )
$MyDT = $MyCal.AddMonths($MyDT, 10 )
$MyDT = $MyCal.AddDays($MyDT, 1 )

# Display the values of the DateTime.
"After adding two years and ten months and one day:"
DisplayValues $MyCal $MyDT