GregorianCalendarTypes Enumeration
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Defines the different language versions of the Gregorian calendar.
Assembly: mscorlib (in mscorlib.dll)
| Member name | Description | |
|---|---|---|
| Arabic | Refers to the Arabic version of the Gregorian calendar. | |
| Localized | Refers to the localized version of the Gregorian calendar, based on the language of the CultureInfo object that uses the DateTimeFormatInfo object. | |
| MiddleEastFrench | Refers to the Middle East French version of the Gregorian calendar. | |
| TransliteratedEnglish | Refers to the transliterated English version of the Gregorian calendar. | |
| TransliteratedFrench | Refers to the transliterated French version of the Gregorian calendar. | |
| USEnglish | Refers to the U.S. English version of the Gregorian calendar. |
The date and time patterns associated with the GregorianCalendar vary depending on the culture. If the value of the CultureInfo.Calendar property of a particular culture is GregorianCalendar, or if the value of one of the calendars in a culture’s CultureInfo.OptionalCalendars property array is GregorianCalendar, that object’s GregorianCalendar.CalendarType property is a GregorianCalendarTypes enumeration value that specifies which date and time patterns that culture uses.
For example, most of the Arabic cultures support the following versions of the Gregorian calendar:
A localized version, indicated by a GregorianCalendar.CalendarType,value of GregorianCalendarTypes.Localized.
An English version, indicated by a GregorianCalendar.CalendarType,value of GregorianCalendarTypes.USEnglish.
A French version, indicated by a GregorianCalendar.CalendarType,value of GregorianCalendarTypes.MiddleEastFrench.
A culture that supports GregorianCalendar might not support all language versions of GregorianCalendar. The CultureInfo.Calendar and CultureInfo.OptionalCalendars properties specify the calendars supported by that culture. If GregorianCalendar is supported, CalendarType can be used to determine which language versions of GregorianCalendar are supported.
The following example demonstrates how to determine the GregorianCalendar language version supported by the culture.
using System; using System.Globalization; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Gets the calendars supported by the ar-SA culture. Calendar[] myOptCals = new CultureInfo("ar-SA").OptionalCalendars; // Checks which ones are GregorianCalendar then determines the GregorianCalendar version. outputBlock.Text += "The ar-SA culture supports the following calendars:" + "\n"; foreach (Calendar cal in myOptCals) { if (cal.GetType() == typeof(GregorianCalendar)) { GregorianCalendar myGreCal = (GregorianCalendar)cal; GregorianCalendarTypes calType = myGreCal.CalendarType; outputBlock.Text += String.Format(" {0} ({1})", cal, calType) + "\n"; } else { outputBlock.Text += String.Format(" {0}", cal) + "\n"; } } } } /* This code produces the following output. The ar-SA culture supports the following calendars: System.Globalization.HijriCalendar System.Globalization.GregorianCalendar (USEnglish) System.Globalization.GregorianCalendar (MiddleEastFrench) System.Globalization.GregorianCalendar (Arabic) System.Globalization.GregorianCalendar (Localized) System.Globalization.GregorianCalendar (TransliteratedFrench) */
The following example displays a DateTime value using a localized GregorianCalendar object.
using System; using System.Globalization; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Creates and initializes four different CultureInfo. CultureInfo myCIdeDE = new CultureInfo("de-DE"); CultureInfo myCIenUS = new CultureInfo("en-US"); CultureInfo myCIfrFR = new CultureInfo("fr-FR"); CultureInfo myCIruRU = new CultureInfo("ru-RU"); // Creates a Localized GregorianCalendar. // GregorianCalendarTypes.Localized is the default when using the GregorianCalendar constructor without parameters. Calendar myCal = new GregorianCalendar(); // Sets the DateTimeFormatInfo.Calendar property to a Localized GregorianCalendar. // Localized GregorianCalendar is the default calendar for de-DE, en-US, and fr-FR, myCIruRU.DateTimeFormat.Calendar = myCal; // Creates a DateTime. DateTime myDT = new DateTime(2002, 1, 3, 13, 30, 45); // Displays the DateTime. outputBlock.Text += String.Format("de-DE: {0}", myDT.ToString("F", myCIdeDE)) + "\n"; outputBlock.Text += String.Format("en-US: {0}", myDT.ToString("F", myCIenUS)) + "\n"; outputBlock.Text += String.Format("fr-FR: {0}", myDT.ToString("F", myCIfrFR)) + "\n"; outputBlock.Text += String.Format("ru-RU: {0}", myDT.ToString("F", myCIruRU)) + "\n"; } } /* The example displays the following output: de-DE: Donnerstag, 3. Januar 2002 13:30:45 en-US: Thursday, January 03, 2002 1:30:45 PM fr-FR: jeudi 3 janvier 2002 13:30:45 ru-RU: 3 января 2002 г. 13:30:45 */