Export (0) Print
Expand All

GregorianCalendarTypes Enumeration

Defines the different language versions of the Gregorian calendar.

Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum GregorianCalendarTypes
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum GregorianCalendarTypes
SerializableAttribute 
ComVisibleAttribute(true) 
public enum GregorianCalendarTypes

 Member nameDescription
Supported by the .NET Compact FrameworkArabicRefers to the Arabic version of the Gregorian calendar. 
Supported by the .NET Compact FrameworkLocalizedRefers to the localized version of the Gregorian calendar, based on the language of the CultureInfo that uses the DateTimeFormatInfo
Supported by the .NET Compact FrameworkMiddleEastFrenchRefers to the Middle East French version of the Gregorian calendar. 
Supported by the .NET Compact FrameworkTransliteratedEnglishRefers to the transliterated English version of the Gregorian calendar. 
Supported by the .NET Compact FrameworkTransliteratedFrenchRefers to the transliterated French version of the Gregorian calendar. 
Supported by the .NET Compact FrameworkUSEnglishRefers to the U.S. English version of the Gregorian calendar. 

The date and time patterns associated with the GregorianCalendar vary depending on the language. If the GregorianCalendar is selected in DateTimeFormatInfo.Calendar, GregorianCalendarTypes can be used to specify which date and time patterns to use in that DateTimeFormatInfo.

For Arabic cultures, more language versions of the Gregorian calendar are available. For example, you can use the French version of GregorianCalendar using the MiddleEastFrench value.

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 code example demonstrates how to determine the GregorianCalendar language version supported by the culture.

using System;
using System.Globalization;


public class SamplesCultureInfo  {

   public static void Main()  {

      // 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.
      Console.WriteLine( "The ar-SA culture supports the following calendars:" );
      foreach ( Calendar cal in myOptCals )  {
         if ( cal.GetType() == typeof( GregorianCalendar ) )  {
            GregorianCalendar myGreCal = (GregorianCalendar) cal;
            GregorianCalendarTypes calType = myGreCal.CalendarType;
            Console.WriteLine( "   {0} ({1})", cal, calType );
         }
         else  {
            Console.WriteLine( "   {0}", cal );
         }
      }

   }

}

/*
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)

*/

import System.* ;
import System.Globalization.* ;

public class SamplesCultureInfo
{
    public static void main(String[] args)
    {
        // Gets the calendars supported by the ar-SA culture.
        Calendar myOptCals[] = (new CultureInfo("ar-SA")).
            get_OptionalCalendars();

        // Checks which ones are GregorianCalendar then determines the 
        // GregorianCalendar version.
        Console.WriteLine
            ("The ar-SA culture supports the following calendars:");
        
        for (int iCtr = 0; iCtr < myOptCals.length; iCtr++) {
            Calendar cal = myOptCals[iCtr];
            if (cal.GetType() == GregorianCalendar.class.ToType()) {
                GregorianCalendar myGreCal = ((GregorianCalendar)(cal));
                GregorianCalendarTypes calType = myGreCal.get_CalendarType();
                Console.WriteLine("   {0} ({1})", cal, calType);
            }
            else {
                Console.WriteLine("   {0}", cal);
            }
        }
    } //main 
} //SamplesCultureInfo

/*
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 code example prints a DateTime using a GregorianCalendar that is localized.

using System;
using System.Globalization;


public class SamplesGregorianCalendar  {

   public static void Main()  {

      // Creates and initializes three different CultureInfo.
      CultureInfo myCIarSA = new CultureInfo("ar-SA", false);
      CultureInfo myCIdeDE = new CultureInfo("de-DE", false);
      CultureInfo myCIenUS = new CultureInfo("en-US", false);
      CultureInfo myCIfrFR = new CultureInfo("fr-FR", false);

      // 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,
      myCIarSA.DateTimeFormat.Calendar = myCal;

      // Creates a DateTime.
      DateTime myDT = new DateTime( 2002, 1, 3, 13, 30, 45 );

      // Displays the DateTime.
      Console.WriteLine( "ar-SA: {0}", myDT.ToString( "F", myCIarSA ) );
      Console.WriteLine( "de-DE: {0}", myDT.ToString( "F", myCIdeDE ) );
      Console.WriteLine( "en-US: {0}", myDT.ToString( "F", myCIenUS ) );
      Console.WriteLine( "fr-FR: {0}", myDT.ToString( "F", myCIfrFR ) );

   }

}

/*
This code produces the following output. The question marks take the place of native script characters.

ar-SA: 03 ?????, 2002 01:30:45 ?
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

*/

import System.* ;
import System.Globalization.* ;

public class SamplesGregorianCalendar
{
    public static void main(String[] args)
    {
        // Creates and initializes three different CultureInfo.
        CultureInfo myCIarSA =  new CultureInfo("ar-SA", false);
        CultureInfo myCIdeDE =  new CultureInfo("de-DE", false);
        CultureInfo myCIenUS =  new CultureInfo("en-US", false);
        CultureInfo myCIfrFR =  new CultureInfo("fr-FR", false);

        // 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,
        myCIarSA.get_DateTimeFormat().set_Calendar( myCal);

        // Creates a DateTime.
        DateTime myDT =  new DateTime(2002, 1, 3, 13, 30, 45);

        // Displays the DateTime.
        Console.WriteLine("ar-SA: {0}", myDT.ToString("F", myCIarSA));
        Console.WriteLine("de-DE: {0}", myDT.ToString("F", myCIdeDE));
        Console.WriteLine("en-US: {0}", myDT.ToString("F", myCIenUS));
        Console.WriteLine("fr-FR: {0}", myDT.ToString("F", myCIfrFR));
    } //main 
} //SamplesGregorianCalendar

/*
This code produces the following output. The question marks take the place 
    of native script characters.

ar-SA: 03 ?????, 2002 01:30:45 ?
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
*/

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft