Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1779 lines (1616 sloc) 108 KB
<Type Name="HijriCalendar" FullName="System.Globalization.HijriCalendar">
<TypeSignature Language="C#" Value="public class HijriCalendar : System.Globalization.Calendar" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable beforefieldinit HijriCalendar extends System.Globalization.Calendar" />
<TypeSignature Language="DocId" Value="T:System.Globalization.HijriCalendar" />
<TypeSignature Language="VB.NET" Value="Public Class HijriCalendar&#xA;Inherits Calendar" />
<TypeSignature Language="C++ CLI" Value="public ref class HijriCalendar : System::Globalization::Calendar" />
<TypeSignature Language="F#" Value="type HijriCalendar = class&#xA; inherit Calendar" />
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Globalization.Calendar</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0">
<AttributeName>System.Serializable</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Represents the Hijri calendar.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The Hijri calendar recognizes one era: A.H. (Latin "Anno Hegirae", which means "the year of the migration," in reference to the migration of Muhammad (PBUH) from Mecca).
> [!NOTE]
> For information about using the <xref:System.Globalization.HijriCalendar> class and the other calendar classes in the .NET Framework, see [Working with Calendars](~/docs/standard/datetime/working-with-calendars.md).
In every 30-year cycle that ends with a year that is evenly divisible by 30, the 2nd, 5th, 7th, 10th, 13th, 16th, 18th, 21st, 24th, 26th, and 29th years are leap years. A common year has 354 days and a leap year has 355 days.
The Hijri calendar has 12 months with 29 to 30 days each:
|GetMonth value|Month|Days in common years|Days in leap years|
|--------------------|-----------|--------------------------|------------------------|
|1|محرم (Muharram)|30|30|
|2|صفر (Safar)|29|29|
|3|‏ربيع الاول (Rabi I)|30|30|
|4|‏ربيع الثاني (Rabi II)|29|29|
|5|جمادى الاولى (Jumada I)|30|30|
|6|جمادى الثانية (Jumada II)|29|29|
|7|رجب (Rajab)|30|30|
|8|شعبان (Shaban)|29|29|
|9|رمضان (Ramadan)|30|30|
|10|شوال (Shawwal)|29|29|
|11|ذو القعدة (Zulkadah)|30|30|
|12|ذو الحجة (Zulhijjah)|29|30|
Ramadan, the month of fasting in the Muslim world, officially starts and ends according to a decree that is based on the observation of the new moon. Therefore, the number of days in Shaban and the number of days in Ramadan vary.
The date January 1, 2001 A.D. in the Gregorian calendar is roughly equivalent to the sixth day of Shawwal in the year 1421 A.H. in the Hijri calendar.
This implementation of the <xref:System.Globalization.HijriCalendar> class adjusts the calendar date by adding or subtracting a value from zero to two days to accommodate the variances in the start and the end of Ramadan and to accommodate the date difference between countries/regions. That value is stored in the <xref:System.Globalization.HijriCalendar.HijriAdjustment%2A> property. If <xref:System.Globalization.HijriCalendar.HijriAdjustment%2A> is not set explicitly, it derives its value from the settings in the regional and language options portion of Control Panel and is stored in the registry value HKEY_CURRENT_USER\Control Panel\International\AddHijriDate. However, that information can change during the life of the <xref:System.AppDomain>. The <xref:System.Globalization.HijriCalendar> class does not detect changes in the system settings automatically.
Each <xref:System.Globalization.CultureInfo> supports a set of calendars. The <xref:System.Globalization.CultureInfo.Calendar%2A> property returns the default calendar for the culture, and the <xref:System.Globalization.CultureInfo.OptionalCalendars%2A> property returns an array containing all the calendars supported by the culture. To change the calendar used by a <xref:System.Globalization.CultureInfo>, the application should set the <xref:System.Globalization.DateTimeFormatInfo.Calendar%2A> property of <xref:System.Globalization.CultureInfo.DateTimeFormat%2A?displayProperty=nameWithType> to a new <xref:System.Globalization.Calendar>.
]]></format>
</remarks>
<altmember cref="T:System.Globalization.Calendar" />
<altmember cref="P:System.Globalization.CultureInfo.Calendar" />
<altmember cref="P:System.Globalization.CultureInfo.OptionalCalendars" />
<altmember cref="T:System.Globalization.UmAlQuraCalendar" />
<related type="Article" href="~/docs/standard/datetime/working-with-calendars.md">Working with Calendars</related>
<related type="ExternalDocumentation" href="https://code.msdn.microsoft.com/NET-Framework-4-Calendar-3360a84a">Sample: Calendar Week Range Utility</related>
<related type="ExternalDocumentation" href="https://code.msdn.microsoft.com/vstudio/This-is-a-desktop-program-cd99bfd4">Sample: Viewing the Hijri Date for Arabian countries in 3D</related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public HijriCalendar ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; HijriCalendar();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Globalization.HijriCalendar" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="AddMonths">
<MemberSignature Language="C#" Value="public override DateTime AddMonths (DateTime time, int months);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance valuetype System.DateTime AddMonths(valuetype System.DateTime time, int32 months) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.AddMonths(System.DateTime,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override DateTime AddMonths(DateTime time, int months);" />
<MemberSignature Language="F#" Value="override this.AddMonths : DateTime * int -&gt; DateTime" Usage="hijriCalendar.AddMonths (time, months)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.DateTime</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
<Parameter Name="months" Type="System.Int32" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to add months to.</param>
<param name="months">The number of months to add.</param>
<summary>Returns a <see cref="T:System.DateTime" /> that is the specified number of months away from the specified <see cref="T:System.DateTime" />.</summary>
<returns>The <see cref="T:System.DateTime" /> that results from adding the specified number of months to the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The day part of the resulting <xref:System.DateTime> is affected if the resulting day is not a valid day in the resulting month of the resulting year. It is changed to the last valid day in the resulting month of the resulting year. The year part of the resulting <xref:System.DateTime> is affected if the resulting month is outside the year of the specified <xref:System.DateTime>. This implementation supports only the current era. Therefore, <xref:System.ArgumentException> is thrown if the resulting year is outside the era of the specified <xref:System.DateTime>. The time-of-day part of the resulting <xref:System.DateTime> remains the same as the specified <xref:System.DateTime>.
For example, if the specified month is Zulkadah, which has 30 days, the specified day is the 30th day of that month, and the value of the `months` parameter is 3, the resulting year is one more than the specified year, the resulting month is Safar, and the resulting day is the 29th day, which is the last day in Safar.
If the value of the `months` parameter is negative, the resulting <xref:System.DateTime> is earlier than the specified <xref:System.DateTime>.
The <xref:System.DateTime.Kind%2A> property of the returned <xref:System.DateTime> value always equals <xref:System.DateTimeKind.Unspecified?displayProperty=nameWithType>. You can preserve the <xref:System.DateTime.Kind%2A> property of the `time` parameter by calling the <xref:System.DateTime.SpecifyKind%2A?displayProperty=nameWithType> method, as the following example shows.
[!code-csharp[System.Globalization.Calendar.AddMethods#5](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.globalization.calendar.addmethods/cs/add1.cs#5)]
[!code-vb[System.Globalization.Calendar.AddMethods#5](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.globalization.calendar.addmethods/vb/add1.vb#5)]
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentException">The resulting <see cref="T:System.DateTime" />.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="months" /> is less than -120000.
-or-
<paramref name="months" /> is greater than 120000.</exception>
<altmember cref="T:System.DateTime" />
<altmember cref="M:System.Globalization.HijriCalendar.AddYears(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddWeeks(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddDays(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddHours(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddMinutes(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddSeconds(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddMilliseconds(System.DateTime,System.Double)" />
</Docs>
</Member>
<Member MemberName="AddYears">
<MemberSignature Language="C#" Value="public override DateTime AddYears (DateTime time, int years);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance valuetype System.DateTime AddYears(valuetype System.DateTime time, int32 years) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.AddYears(System.DateTime,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function AddYears (time As DateTime, years As Integer) As DateTime" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override DateTime AddYears(DateTime time, int years);" />
<MemberSignature Language="F#" Value="override this.AddYears : DateTime * int -&gt; DateTime" Usage="hijriCalendar.AddYears (time, years)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.DateTime</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
<Parameter Name="years" Type="System.Int32" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to add years to.</param>
<param name="years">The number of years to add.</param>
<summary>Returns a <see cref="T:System.DateTime" /> that is the specified number of years away from the specified <see cref="T:System.DateTime" />.</summary>
<returns>The <see cref="T:System.DateTime" /> that results from adding the specified number of years to the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The day part of the resulting <xref:System.DateTime> is affected if the resulting day is not a valid day in the resulting month of the resulting year. It is changed to the last valid day in the resulting month of the resulting year. The month part of the resulting <xref:System.DateTime> remains the same as the specified <xref:System.DateTime>. This implementation supports only the current era. Therefore, <xref:System.ArgumentException> is thrown if the resulting year is outside the era of the specified <xref:System.DateTime>. The time-of-day part of the resulting <xref:System.DateTime> remains the same as the specified <xref:System.DateTime>.
For example, Zulhijjah has 29 days, except during leap years when it has 30 days. If the specified date is the 30th day of Zulhijjah in a leap year and the value of `years` is 1, the resulting date will be the 29th day of Zulhijjah in the following year.
If `years` is negative, the resulting <xref:System.DateTime> is earlier than the specified <xref:System.DateTime>.
The <xref:System.DateTime.Kind%2A> property of the returned <xref:System.DateTime> value always equals <xref:System.DateTimeKind.Unspecified?displayProperty=nameWithType>. You can preserve the <xref:System.DateTime.Kind%2A> property of the `time` parameter by calling the <xref:System.DateTime.SpecifyKind%2A?displayProperty=nameWithType> method, as the following example shows.
[!code-csharp[System.Globalization.Calendar.AddMethods#8](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.globalization.calendar.addmethods/cs/add1.cs#8)]
[!code-vb[System.Globalization.Calendar.AddMethods#8](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.globalization.calendar.addmethods/vb/add1.vb#8)]
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentException">The resulting <see cref="T:System.DateTime" /> is outside the supported range.</exception>
<altmember cref="T:System.DateTime" />
<altmember cref="M:System.Globalization.HijriCalendar.AddMonths(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddWeeks(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddDays(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddHours(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddMinutes(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddSeconds(System.DateTime,System.Int32)" />
<altmember cref="M:System.Globalization.Calendar.AddMilliseconds(System.DateTime,System.Double)" />
</Docs>
</Member>
<Member MemberName="AlgorithmType">
<MemberSignature Language="C#" Value="public override System.Globalization.CalendarAlgorithmType AlgorithmType { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Globalization.CalendarAlgorithmType AlgorithmType" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.AlgorithmType" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property AlgorithmType As CalendarAlgorithmType" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Globalization::CalendarAlgorithmType AlgorithmType { System::Globalization::CalendarAlgorithmType get(); };" />
<MemberSignature Language="F#" Value="member this.AlgorithmType : System.Globalization.CalendarAlgorithmType" Usage="System.Globalization.HijriCalendar.AlgorithmType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Globalization.CalendarAlgorithmType</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both.</summary>
<value>Always returns <see cref="F:System.Globalization.CalendarAlgorithmType.LunarCalendar" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following example uses reflection to instantiate each <xref:System.Globalization.Calendar> type found in the .NET Framework and displays the value of its <xref:System.Globalization.Calendar.AlgorithmType%2A> property.
[!code-csharp[System.Globalization.Calendar.AlgorithmType#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.globalization.calendar.algorithmtype/cs/algorithmtype1.cs#1)]
[!code-vb[System.Globalization.Calendar.AlgorithmType#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.globalization.calendar.algorithmtype/vb/algorithmtype1.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="DaysInYearBeforeMinSupportedYear">
<MemberSignature Language="C#" Value="protected override int DaysInYearBeforeMinSupportedYear { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 DaysInYearBeforeMinSupportedYear" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.DaysInYearBeforeMinSupportedYear" />
<MemberSignature Language="VB.NET" Value="Protected Overrides ReadOnly Property DaysInYearBeforeMinSupportedYear As Integer" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual property int DaysInYearBeforeMinSupportedYear { int get(); };" />
<MemberSignature Language="F#" Value="member this.DaysInYearBeforeMinSupportedYear : int" Usage="System.Globalization.HijriCalendar.DaysInYearBeforeMinSupportedYear" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the number of days in the year that precedes the year that is specified by the <see cref="P:System.Globalization.HijriCalendar.MinSupportedDateTime" /> property.</summary>
<value>The number of days in the year that precedes the year specified by <see cref="P:System.Globalization.HijriCalendar.MinSupportedDateTime" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property returns a constant value of 354.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Eras">
<MemberSignature Language="C#" Value="public override int[] Eras { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32[] Eras" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.Eras" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property Eras As Integer()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property cli::array &lt;int&gt; ^ Eras { cli::array &lt;int&gt; ^ get(); };" />
<MemberSignature Language="F#" Value="member this.Eras : int[]" Usage="System.Globalization.HijriCalendar.Eras" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32[]</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the list of eras in the <see cref="T:System.Globalization.HijriCalendar" />.</summary>
<value>An array of integers that represents the eras in the <see cref="T:System.Globalization.HijriCalendar" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The Hijri calendar recognizes one era: A.H. (Latin "Anno Hegirae", which means "the year of the migration," in reference to the migration of Muhammad (PBUH) from Mecca). This property always returns an array with only one element.
]]></format>
</remarks>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
</Docs>
</Member>
<Member MemberName="GetDayOfMonth">
<MemberSignature Language="C#" Value="public override int GetDayOfMonth (DateTime time);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetDayOfMonth(valuetype System.DateTime time) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetDayOfMonth(System.DateTime)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetDayOfMonth (time As DateTime) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetDayOfMonth(DateTime time);" />
<MemberSignature Language="F#" Value="override this.GetDayOfMonth : DateTime -&gt; int" Usage="hijriCalendar.GetDayOfMonth time" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to read.</param>
<summary>Returns the day of the month in the specified <see cref="T:System.DateTime" />.</summary>
<returns>An integer from 1 to 30 that represents the day of the month in the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.DateTime.Day" />
<altmember cref="M:System.Globalization.HijriCalendar.GetEra(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfWeek(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)" />
</Docs>
</Member>
<Member MemberName="GetDayOfWeek">
<MemberSignature Language="C#" Value="public override DayOfWeek GetDayOfWeek (DateTime time);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance valuetype System.DayOfWeek GetDayOfWeek(valuetype System.DateTime time) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetDayOfWeek(System.DateTime)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetDayOfWeek (time As DateTime) As DayOfWeek" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override DayOfWeek GetDayOfWeek(DateTime time);" />
<MemberSignature Language="F#" Value="override this.GetDayOfWeek : DateTime -&gt; DayOfWeek" Usage="hijriCalendar.GetDayOfWeek time" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.DayOfWeek</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to read.</param>
<summary>Returns the day of the week in the specified <see cref="T:System.DateTime" />.</summary>
<returns>A <see cref="T:System.DayOfWeek" /> value that represents the day of the week in the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.DayOfWeek> values are as follows:
|DayOfWeek value|which indicates|
|---------------------|---------------------|
|Sunday|الاحد (Al-Ahad)|
|Monday|الاثنين (Al-Ithnayn)|
|Tuesday|الثلاثاء (At-Thulaathaa')|
|Wednesday|الاربعاء (Al-Arbi'aa')|
|Thursday|الخميس (Al-Khamiis)|
|Friday|الجمعة (Al-Jumu'ah)|
|Saturday|السبت (As-Sabt)|
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.DateTime.DayOfWeek" />
<altmember cref="T:System.DayOfWeek" />
<altmember cref="M:System.Globalization.HijriCalendar.GetEra(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)" />
</Docs>
</Member>
<Member MemberName="GetDayOfYear">
<MemberSignature Language="C#" Value="public override int GetDayOfYear (DateTime time);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetDayOfYear(valuetype System.DateTime time) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetDayOfYear(System.DateTime)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetDayOfYear (time As DateTime) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetDayOfYear(DateTime time);" />
<MemberSignature Language="F#" Value="override this.GetDayOfYear : DateTime -&gt; int" Usage="hijriCalendar.GetDayOfYear time" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to read.</param>
<summary>Returns the day of the year in the specified <see cref="T:System.DateTime" />.</summary>
<returns>An integer from 1 to 355 that represents the day of the year in the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The day of the year is defined as the number of days from the first day of the year. For example, <xref:System.Globalization.HijriCalendar.GetDayOfYear%2A> for the first day of the first month returns 1, and <xref:System.Globalization.HijriCalendar.GetDayOfYear%2A> for the last day of the last month returns the total number of days in that year, which is the same value returned by <xref:System.Globalization.HijriCalendar.GetDaysInYear%2A>.
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.DateTime.DayOfYear" />
<altmember cref="M:System.Globalization.HijriCalendar.GetEra(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfWeek(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)" />
</Docs>
</Member>
<Member MemberName="GetDaysInMonth">
<MemberSignature Language="C#" Value="public override int GetDaysInMonth (int year, int month, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetDaysInMonth(int32 year, int32 month, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetDaysInMonth(System.Int32,System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetDaysInMonth (year As Integer, month As Integer, era As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetDaysInMonth(int year, int month, int era);" />
<MemberSignature Language="F#" Value="override this.GetDaysInMonth : int * int * int -&gt; int" Usage="hijriCalendar.GetDaysInMonth (year, month, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="month" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="month">An integer from 1 to 12 that represents the month.</param>
<param name="era">An integer that represents the era.</param>
<summary>Returns the number of days in the specified month of the specified year and era.</summary>
<returns>The number of days in the specified month in the specified year in the specified era.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
For example, this method returns 29 or 30 for Zulhijjah (`month` = 12), depending on whether `year` is a leap year.
## Examples
The following code example calls `GetDaysInMonth` for the twelfth month in each of five years in each era.
[!code-cpp[System.Globalization.HijriCalendar.GetDaysInMonth#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetDaysInMonth/CPP/hijricalendar_getdaysinmonth.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.GetDaysInMonth#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetDaysInMonth/CS/hijricalendar_getdaysinmonth.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.GetDaysInMonth#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetDaysInMonth/VB/hijricalendar_getdaysinmonth.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="era" /> is outside the range supported by this calendar.
-or-
<paramref name="year" /> is outside the range supported by this calendar.
-or-
<paramref name="month" /> is outside the range supported by this calendar.</exception>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonthsInYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDaysInYear(System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetDaysInYear">
<MemberSignature Language="C#" Value="public override int GetDaysInYear (int year, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetDaysInYear(int32 year, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetDaysInYear(System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetDaysInYear (year As Integer, era As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetDaysInYear(int year, int era);" />
<MemberSignature Language="F#" Value="override this.GetDaysInYear : int * int -&gt; int" Usage="hijriCalendar.GetDaysInYear (year, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="era">An integer that represents the era.</param>
<summary>Returns the number of days in the specified year and era.</summary>
<returns>The number of days in the specified year and era. The number of days is 354 in a common year or 355 in a leap year.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example calls `GetDaysInYear` for five years in each era.
[!code-cpp[System.Globalization.HijriCalendar.GetDaysInYear#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetDaysInYear/CPP/hijricalendar_getdaysinyear.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.GetDaysInYear#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetDaysInYear/CS/hijricalendar_getdaysinyear.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.GetDaysInYear#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetDaysInYear/VB/hijricalendar_getdaysinyear.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="year" /> or <paramref name="era" /> is outside the range supported by this calendar.</exception>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonthsInYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDaysInMonth(System.Int32,System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetEra">
<MemberSignature Language="C#" Value="public override int GetEra (DateTime time);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetEra(valuetype System.DateTime time) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetEra(System.DateTime)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetEra (time As DateTime) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetEra(DateTime time);" />
<MemberSignature Language="F#" Value="override this.GetEra : DateTime -&gt; int" Usage="hijriCalendar.GetEra time" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to read.</param>
<summary>Returns the era in the specified <see cref="T:System.DateTime" />.</summary>
<returns>An integer that represents the era in the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The Hijri calendar recognizes one era: A.H. (Latin "Anno Hegirae", which means "the year of the migration," in reference to the migration of Muhammad (PBUH) from Mecca).
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.DateTime" />
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfWeek(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)" />
<altmember cref="M:System.Globalization.Calendar.GetHour(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetMinute(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetSecond(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetMilliseconds(System.DateTime)" />
</Docs>
</Member>
<Member MemberName="GetLeapMonth">
<MemberSignature Language="C#" Value="public override int GetLeapMonth (int year, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetLeapMonth(int32 year, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetLeapMonth(System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetLeapMonth (year As Integer, era As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetLeapMonth(int year, int era);" />
<MemberSignature Language="F#" Value="override this.GetLeapMonth : int * int -&gt; int" Usage="hijriCalendar.GetLeapMonth (year, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" Index="0" FrameworkAlternate="dotnet-uwp-10.0;netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-1.3;netstandard-1.4;netstandard-1.6;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
<Parameter Name="era" Type="System.Int32" Index="1" FrameworkAlternate="dotnet-uwp-10.0;netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-1.3;netstandard-1.4;netstandard-1.6;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
</Parameters>
<Docs>
<param name="year">A year.</param>
<param name="era">An era. Specify <see cref="F:System.Globalization.Calendar.CurrentEra" /> or <see cref="F:System.Globalization.HijriCalendar.HijriEra" />.</param>
<summary>Calculates the leap month for a specified year and era.</summary>
<returns>Always 0 because the <see cref="T:System.Globalization.HijriCalendar" /> type does not support the notion of a leap month.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
In a calendar that supports the notion of a leap month, the leap month can occur either after a particular month or after any month in a year. For example, the <xref:System.Globalization.EastAsianLunisolarCalendar.GetMonth%2A> method returns a number between 1 and 13 that indicates the month associated with a specified date. If there is a leap month between the eighth and ninth months of the year, the <xref:System.Globalization.EastAsianLunisolarCalendar.GetMonth%2A> method returns 8 for the eighth month, 9 for the leap eighth month, and 10 for the ninth month.
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="year" /> is less than the Hijri calendar year 1 or greater than the year 9666.
-or-
<paramref name="era" /> is not <see cref="F:System.Globalization.Calendar.CurrentEra" /> or <see cref="F:System.Globalization.HijriCalendar.HijriEra" />.</exception>
</Docs>
</Member>
<Member MemberName="GetMonth">
<MemberSignature Language="C#" Value="public override int GetMonth (DateTime time);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetMonth(valuetype System.DateTime time) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetMonth(System.DateTime)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetMonth (time As DateTime) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetMonth(DateTime time);" />
<MemberSignature Language="F#" Value="override this.GetMonth : DateTime -&gt; int" Usage="hijriCalendar.GetMonth time" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to read.</param>
<summary>Returns the month in the specified <see cref="T:System.DateTime" />.</summary>
<returns>An integer from 1 to 12 that represents the month in the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.DateTime.Month" />
<altmember cref="M:System.Globalization.HijriCalendar.GetEra(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfWeek(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)" />
<altmember cref="M:System.Globalization.Calendar.GetHour(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetMinute(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetSecond(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetMilliseconds(System.DateTime)" />
</Docs>
</Member>
<Member MemberName="GetMonthsInYear">
<MemberSignature Language="C#" Value="public override int GetMonthsInYear (int year, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetMonthsInYear(int32 year, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetMonthsInYear(System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetMonthsInYear (year As Integer, era As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetMonthsInYear(int year, int era);" />
<MemberSignature Language="F#" Value="override this.GetMonthsInYear : int * int -&gt; int" Usage="hijriCalendar.GetMonthsInYear (year, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="era">An integer that represents the era.</param>
<summary>Returns the number of months in the specified year and era.</summary>
<returns>The number of months in the specified year and era.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example calls the GetMonthsInYear method for five years in each era.
[!code-cpp[System.Globalization.HijriCalendar.GetMonthsInYear#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetMonthsInYear/CPP/hijricalendar_getmonthsinyear.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.GetMonthsInYear#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetMonthsInYear/CS/hijricalendar_getmonthsinyear.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.GetMonthsInYear#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.GetMonthsInYear/VB/hijricalendar_getmonthsinyear.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="era" /> is outside the range supported by this calendar.
-or-
<paramref name="year" /> is outside the range supported by this calendar.</exception>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDaysInYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDaysInMonth(System.Int32,System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetYear">
<MemberSignature Language="C#" Value="public override int GetYear (DateTime time);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetYear(valuetype System.DateTime time) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.GetYear(System.DateTime)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetYear (time As DateTime) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int GetYear(DateTime time);" />
<MemberSignature Language="F#" Value="override this.GetYear : DateTime -&gt; int" Usage="hijriCalendar.GetYear time" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<param name="time">The <see cref="T:System.DateTime" /> to read.</param>
<summary>Returns the year in the specified <see cref="T:System.DateTime" />.</summary>
<returns>An integer that represents the year in the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example displays the values of several components of a <xref:System.DateTime> in terms of the Hijri calendar.
[!code-cpp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CPP/hijricalendar_addget.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/CS/hijricalendar_addget.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_AddGet#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_AddGet/VB/hijricalendar_addget.vb#1)]
]]></format>
</remarks>
<altmember cref="P:System.DateTime.Year" />
<altmember cref="M:System.Globalization.HijriCalendar.GetEra(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfYear(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfMonth(System.DateTime)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDayOfWeek(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetWeekOfYear(System.DateTime,System.Globalization.CalendarWeekRule,System.DayOfWeek)" />
<altmember cref="M:System.Globalization.Calendar.GetHour(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetMinute(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetSecond(System.DateTime)" />
<altmember cref="M:System.Globalization.Calendar.GetMilliseconds(System.DateTime)" />
</Docs>
</Member>
<Member MemberName="HijriAdjustment">
<MemberSignature Language="C#" Value="public int HijriAdjustment { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 HijriAdjustment" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.HijriAdjustment" />
<MemberSignature Language="VB.NET" Value="Public Property HijriAdjustment As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property int HijriAdjustment { int get(); void set(int value); };" />
<MemberSignature Language="F#" Value="member this.HijriAdjustment : int with get, set" Usage="System.Globalization.HijriCalendar.HijriAdjustment" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>get: System.Security.SecuritySafeCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the number of days to add or subtract from the calendar to accommodate the variances in the start and the end of Ramadan and to accommodate the date difference between countries/regions.</summary>
<value>An integer from -2 to 2 that represents the number of days to add or subtract from the calendar.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This implementation of the <xref:System.Globalization.HijriCalendar> class adjusts the calendar date by adding or subtracting a value from zero to two days to accommodate the variances in the start and the end of Ramadan and to accommodate the date difference between countries/regions. That value is stored in the <xref:System.Globalization.HijriCalendar.HijriAdjustment%2A> property. If <xref:System.Globalization.HijriCalendar.HijriAdjustment%2A> is not set explicitly, it derives its value from the settings in the regional and language options portion of Control Panel and is stored in the registry value HKEY_CURRENT_USER\Control Panel\International\AddHijriDate. However, that information can change during the life of the <xref:System.AppDomain>. The <xref:System.Globalization.HijriCalendar> class does not detect changes in the system settings automatically.
## Examples
The following code example shows how <xref:System.Globalization.HijriCalendar.HijriAdjustment%2A> affects the date.
[!code-cpp[System.Globalization.HijriCalendar.HijriAdjustment#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.HijriAdjustment/CPP/hijriadjustment.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.HijriAdjustment#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.HijriAdjustment/CS/hijriadjustment.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.HijriAdjustment#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.HijriAdjustment/VB/hijriadjustment.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">The property is being set to an invalid value.</exception>
</Docs>
</Member>
<Member MemberName="HijriEra">
<MemberSignature Language="C#" Value="public static readonly int HijriEra;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly int32 HijriEra" />
<MemberSignature Language="DocId" Value="F:System.Globalization.HijriCalendar.HijriEra" />
<MemberSignature Language="VB.NET" Value="Public Shared ReadOnly HijriEra As Integer " />
<MemberSignature Language="C++ CLI" Value="public: static initonly int HijriEra;" />
<MemberSignature Language="F#" Value=" staticval mutable HijriEra : int" Usage="System.Globalization.HijriCalendar.HijriEra" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Represents the current era. This field is constant.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The value of the <xref:System.Globalization.HijriCalendar.HijriEra> field is 1.
The Hijri calendar recognizes one era: A.H. (Latin "Anno Hegirae", which means "the year of the migration," in reference to the migration of Muhammad (PBUH) from Mecca).
]]></format>
</remarks>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
</Docs>
</Member>
<Member MemberName="IsLeapDay">
<MemberSignature Language="C#" Value="public override bool IsLeapDay (int year, int month, int day, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool IsLeapDay(int32 year, int32 month, int32 day, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.IsLeapDay(System.Int32,System.Int32,System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function IsLeapDay (year As Integer, month As Integer, day As Integer, era As Integer) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override bool IsLeapDay(int year, int month, int day, int era);" />
<MemberSignature Language="F#" Value="override this.IsLeapDay : int * int * int * int -&gt; bool" Usage="hijriCalendar.IsLeapDay (year, month, day, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="month" Type="System.Int32" />
<Parameter Name="day" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="month">An integer from 1 to 12 that represents the month.</param>
<param name="day">An integer from 1 to 30 that represents the day.</param>
<param name="era">An integer that represents the era.</param>
<summary>Determines whether the specified date is a leap day.</summary>
<returns>
<see langword="true" /> if the specified day is a leap day; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
In every 30-year cycle that ends with a year that is evenly divisible by 30, the 2nd, 5th, 7th, 10th, 13th, 16th, 18th, 21st, 24th, 26th, and 29th years are leap years. A common year has 354 days and a leap year has 355 days.
A leap day is a day that occurs only in a leap year. In the Hijri calendar, the 30th day of Zulhijjah is the only leap day.
## Examples
The following code example calls the `IsLeapDay` method for the last day of the second month (February) for five years in each of the eras.
[!code-cpp[System.Globalization.HijriCalendar.IsLeapDay#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapDay/CPP/hijricalendar_isleapday.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.IsLeapDay#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapDay/CS/hijricalendar_isleapday.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.IsLeapDay#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapDay/VB/hijricalendar_isleapday.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="era" /> is outside the range supported by this calendar.
-or-
<paramref name="year" /> is outside the range supported by this calendar.
-or-
<paramref name="month" /> is outside the range supported by this calendar.
-or-
<paramref name="day" /> is outside the range supported by this calendar.</exception>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonthsInYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDaysInMonth(System.Int32,System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.IsLeapYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.IsLeapMonth(System.Int32,System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="IsLeapMonth">
<MemberSignature Language="C#" Value="public override bool IsLeapMonth (int year, int month, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool IsLeapMonth(int32 year, int32 month, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.IsLeapMonth(System.Int32,System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function IsLeapMonth (year As Integer, month As Integer, era As Integer) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override bool IsLeapMonth(int year, int month, int era);" />
<MemberSignature Language="F#" Value="override this.IsLeapMonth : int * int * int -&gt; bool" Usage="hijriCalendar.IsLeapMonth (year, month, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="month" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="month">An integer from 1 to 12 that represents the month.</param>
<param name="era">An integer that represents the era.</param>
<summary>Determines whether the specified month in the specified year and era is a leap month.</summary>
<returns>This method always returns <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
In every 30-year cycle that ends with a year that is evenly divisible by 30, the 2nd, 5th, 7th, 10th, 13th, 16th, 18th, 21st, 24th, 26th, and 29th years are leap years. A common year has 354 days and a leap year has 355 days.
A leap month is an entire month that occurs only in a leap year. The Hijri calendar does not have any leap months.
## Examples
The following code example calls `IsLeapMonth` for all the months in five years in the current era.
[!code-cpp[System.Globalization.HijriCalendar.IsLeapMonth#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapMonth/CPP/hijricalendar_isleapmonth.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.IsLeapMonth#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapMonth/CS/hijricalendar_isleapmonth.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.IsLeapMonth#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapMonth/VB/hijricalendar_isleapmonth.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="era" /> is outside the range supported by this calendar.
-or-
<paramref name="year" /> is outside the range supported by this calendar.
-or-
<paramref name="month" /> is outside the range supported by this calendar.</exception>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonthsInYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.IsLeapYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.IsLeapDay(System.Int32,System.Int32,System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="IsLeapYear">
<MemberSignature Language="C#" Value="public override bool IsLeapYear (int year, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool IsLeapYear(int32 year, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.IsLeapYear(System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function IsLeapYear (year As Integer, era As Integer) As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override bool IsLeapYear(int year, int era);" />
<MemberSignature Language="F#" Value="override this.IsLeapYear : int * int -&gt; bool" Usage="hijriCalendar.IsLeapYear (year, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="era">An integer that represents the era.</param>
<summary>Determines whether the specified year in the specified era is a leap year.</summary>
<returns>
<see langword="true" /> if the specified year is a leap year; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
In every 30-year cycle that ends with a year that is evenly divisible by 30, the 2nd, 5th, 7th, 10th, 13th, 16th, 18th, 21st, 24th, 26th, and 29th years are leap years. A common year has 354 days and a leap year has 355 days.
## Examples
The following code example calls the `IsLeapYear` method for five years in each of the eras.
[!code-cpp[System.Globalization.HijriCalendar.IsLeapYear#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapYear/CPP/hijricalendar_isleapyear.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar.IsLeapYear#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapYear/CS/hijricalendar_isleapyear.cs#1)]
[!code-vb[System.Globalization.HijriCalendar.IsLeapYear#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar.IsLeapYear/VB/hijricalendar_isleapyear.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="era" /> is outside the range supported by this calendar.
-or-
<paramref name="year" /> is outside the range supported by this calendar.</exception>
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.IsLeapMonth(System.Int32,System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.IsLeapDay(System.Int32,System.Int32,System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="MaxSupportedDateTime">
<MemberSignature Language="C#" Value="public override DateTime MaxSupportedDateTime { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.DateTime MaxSupportedDateTime" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.MaxSupportedDateTime" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property MaxSupportedDateTime As DateTime" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property DateTime MaxSupportedDateTime { DateTime get(); };" />
<MemberSignature Language="F#" Value="member this.MaxSupportedDateTime : DateTime" Usage="System.Globalization.HijriCalendar.MaxSupportedDateTime" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.DateTime</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the latest date and time supported by this calendar.</summary>
<value>The latest date and time supported by the <see cref="T:System.Globalization.HijriCalendar" /> type, which is equivalent to the last moment of December 31, 9999 C.E. in the Gregorian calendar.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
December 31, 9999 C.E. is equivalent to the 3rd day of the 4th month of the year 9666 in the Hijri calendar.
## Examples
The following code example gets the minimum value and the maximum value of the calendar.
[!code-cpp[System.Globalization.HijriCalendar_MinMax#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_MinMax/CPP/hijricalendar_minmax.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_MinMax#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_MinMax/CS/hijricalendar_minmax.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_MinMax#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_MinMax/VB/hijricalendar_minmax.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="MinSupportedDateTime">
<MemberSignature Language="C#" Value="public override DateTime MinSupportedDateTime { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.DateTime MinSupportedDateTime" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.MinSupportedDateTime" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property MinSupportedDateTime As DateTime" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property DateTime MinSupportedDateTime { DateTime get(); };" />
<MemberSignature Language="F#" Value="member this.MinSupportedDateTime : DateTime" Usage="System.Globalization.HijriCalendar.MinSupportedDateTime" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8">
<AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.DateTime</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the earliest date and time supported by this calendar.</summary>
<value>The earliest date and time supported by the <see cref="T:System.Globalization.HijriCalendar" /> type, which is equivalent to the first moment of July 18, 622 C.E. in the Gregorian calendar.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Microsoft Visual Basic represents time of day as the specified time on the minimum date supported by the <xref:System.DateTime> type, which is January 1, 0001 C.E. However, the <xref:System.Globalization.HijriCalendar> type does not support that minimum date. Consequently, if you call a method to format the time of day using the current calendar but you do not specify a format specifier, formatting uses the ISO 8601 sortable ("s") date/time pattern format specifier instead of the default general ("G") date/time pattern format specifier. For more information, see [Standard Date and Time Format Strings](~/docs/standard/base-types/standard-date-and-time-format-strings.md).
## Examples
The following code example gets the minimum value and the maximum value of the calendar.
[!code-cpp[System.Globalization.HijriCalendar_MinMax#1](~/samples/snippets/cpp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_MinMax/CPP/hijricalendar_minmax.cpp#1)]
[!code-csharp[System.Globalization.HijriCalendar_MinMax#1](~/samples/snippets/csharp/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_MinMax/CS/hijricalendar_minmax.cs#1)]
[!code-vb[System.Globalization.HijriCalendar_MinMax#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_System/system.Globalization.HijriCalendar_MinMax/VB/hijricalendar_minmax.vb#1)]
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ToDateTime">
<MemberSignature Language="C#" Value="public override DateTime ToDateTime (int year, int month, int day, int hour, int minute, int second, int millisecond, int era);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance valuetype System.DateTime ToDateTime(int32 year, int32 month, int32 day, int32 hour, int32 minute, int32 second, int32 millisecond, int32 era) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.ToDateTime(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ToDateTime (year As Integer, month As Integer, day As Integer, hour As Integer, minute As Integer, second As Integer, millisecond As Integer, era As Integer) As DateTime" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era);" />
<MemberSignature Language="F#" Value="override this.ToDateTime : int * int * int * int * int * int * int * int -&gt; DateTime" Usage="hijriCalendar.ToDateTime (year, month, day, hour, minute, second, millisecond, era)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.DateTime</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
<Parameter Name="month" Type="System.Int32" />
<Parameter Name="day" Type="System.Int32" />
<Parameter Name="hour" Type="System.Int32" />
<Parameter Name="minute" Type="System.Int32" />
<Parameter Name="second" Type="System.Int32" />
<Parameter Name="millisecond" Type="System.Int32" />
<Parameter Name="era" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">An integer that represents the year.</param>
<param name="month">An integer from 1 to 12 that represents the month.</param>
<param name="day">An integer from 1 to 30 that represents the day.</param>
<param name="hour">An integer from 0 to 23 that represents the hour.</param>
<param name="minute">An integer from 0 to 59 that represents the minute.</param>
<param name="second">An integer from 0 to 59 that represents the second.</param>
<param name="millisecond">An integer from 0 to 999 that represents the millisecond.</param>
<param name="era">An integer that represents the era.</param>
<summary>Returns a <see cref="T:System.DateTime" /> that is set to the specified date, time, and era.</summary>
<returns>The <see cref="T:System.DateTime" /> that is set to the specified date and time in the current era.</returns>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="era" /> is outside the range supported by this calendar.
-or-
<paramref name="year" /> is outside the range supported by this calendar.
-or-
<paramref name="month" /> is outside the range supported by this calendar.
-or-
<paramref name="day" /> is outside the range supported by this calendar.
-or-
<paramref name="hour" /> is less than zero or greater than 23.
-or-
<paramref name="minute" /> is less than zero or greater than 59.
-or-
<paramref name="second" /> is less than zero or greater than 59.
-or-
<paramref name="millisecond" /> is less than zero or greater than 999.</exception>
<altmember cref="T:System.DateTime" />
<altmember cref="F:System.Globalization.Calendar.CurrentEra" />
<altmember cref="F:System.Globalization.HijriCalendar.HijriEra" />
<altmember cref="P:System.Globalization.HijriCalendar.Eras" />
<altmember cref="M:System.Globalization.HijriCalendar.GetMonthsInYear(System.Int32,System.Int32)" />
<altmember cref="M:System.Globalization.HijriCalendar.GetDaysInMonth(System.Int32,System.Int32,System.Int32)" />
</Docs>
</Member>
<Member MemberName="ToFourDigitYear">
<MemberSignature Language="C#" Value="public override int ToFourDigitYear (int year);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 ToFourDigitYear(int32 year) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Globalization.HijriCalendar.ToFourDigitYear(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ToFourDigitYear (year As Integer) As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override int ToFourDigitYear(int year);" />
<MemberSignature Language="F#" Value="override this.ToFourDigitYear : int -&gt; int" Usage="hijriCalendar.ToFourDigitYear year" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="year" Type="System.Int32" />
</Parameters>
<Docs>
<param name="year">A two-digit or four-digit integer that represents the year to convert.</param>
<summary>Converts the specified year to a four-digit year by using the <see cref="P:System.Globalization.HijriCalendar.TwoDigitYearMax" /> property to determine the appropriate century.</summary>
<returns>An integer that contains the four-digit representation of <paramref name="year" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.Globalization.HijriCalendar.TwoDigitYearMax%2A> is the last year in the 100-year range that can be represented by a two-digit year. The century is determined by finding the sole occurrence of the two-digit `year` within that 100-year range. For example, if <xref:System.Globalization.HijriCalendar.TwoDigitYearMax%2A> is set to 1429, the 100-year range is from 1330 to 1429; therefore, a 2-digit value of 30 is interpreted as 1330, while a 2-digit value of 29 is interpreted as 1429.
<xref:System.Globalization.HijriCalendar.ToFourDigitYear%2A> supports either a two-digit year or a four-digit year. Passing a two-digit year value (less than 100) causes the method to convert the value to a four-digit value according to the <xref:System.Globalization.HijriCalendar.TwoDigitYearMax%2A> value representing the appropriate century. If the application supplies a four-digit year value that is within the supported calendar range to <xref:System.Globalization.HijriCalendar.ToFourDigitYear%2A>, the method returns the actual input value. If the application supplies a four-digit value that is outside the supported calendar range, or if it supplies a negative value, the method throws an exception.
]]></format>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="year" /> is outside the range supported by this calendar.</exception>
<altmember cref="P:System.Globalization.HijriCalendar.TwoDigitYearMax" />
</Docs>
</Member>
<Member MemberName="TwoDigitYearMax">
<MemberSignature Language="C#" Value="public override int TwoDigitYearMax { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 TwoDigitYearMax" />
<MemberSignature Language="DocId" Value="P:System.Globalization.HijriCalendar.TwoDigitYearMax" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property TwoDigitYearMax As Integer" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property int TwoDigitYearMax { int get(); void set(int value); };" />
<MemberSignature Language="F#" Value="member this.TwoDigitYearMax : int with get, set" Usage="System.Globalization.HijriCalendar.TwoDigitYearMax" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Globalization.Calendars</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime</AssemblyName>
<AssemblyVersion>4.2.0.0</AssemblyVersion>
<AssemblyVersion>4.2.1.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the last year of a 100-year range that can be represented by a 2-digit year.</summary>
<value>The last year of a 100-year range that can be represented by a 2-digit year.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property allows a 2-digit year to be properly translated to a 4-digit year. For example, if this property is set to 1429, the 100-year range is from 1330 to 1429. Therefore, a 2-digit value of 30 is interpreted as 1330, while a 2-digit value of 29 is interpreted as 1429.
The initial value of this property is derived from the settings in the regional and language options portion of Control Panel. However, that information can change during the life of the <xref:System.AppDomain>. The <xref:System.Globalization.HijriCalendar> class does not detect changes in the system settings automatically.
The application should set this value to 99 to indicate that 2-digit years are to be taken literally. For example, if this property is set to 99, the 100-year range is from 0 (not a valid value for most calendars) to 99. Therefore, a 2-digit value of 30 is interpreted as 30.
]]></format>
</remarks>
<exception cref="T:System.InvalidOperationException">This calendar is read-only.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">The value in a set operation is less than 100 or greater than 9666.</exception>
<altmember cref="M:System.Globalization.HijriCalendar.ToFourDigitYear(System.Int32)" />
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.