GregorianCalendarTypes 枚举

定义公历的不同语言版本。

**命名空间:**System.Globalization
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration GregorianCalendarTypes
用法
Dim instance As GregorianCalendarTypes
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum GregorianCalendarTypes
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum class GregorianCalendarTypes
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum GregorianCalendarTypes
SerializableAttribute 
ComVisibleAttribute(true) 
public enum GregorianCalendarTypes

成员

  成员名称 说明
由 .NET Compact Framework 支持 Arabic 指公历的阿拉伯语版本。 
由 .NET Compact Framework 支持 Localized 指公历的已本地化版本(基于使用 DateTimeFormatInfoCultureInfo 的语言)。 
由 .NET Compact Framework 支持 MiddleEastFrench 指公历的中东法语版本。 
由 .NET Compact Framework 支持 TransliteratedEnglish 指公历的已转译的英语版本。 
由 .NET Compact Framework 支持 TransliteratedFrench 指公历的已转译的法语版本。 
由 .NET Compact Framework 支持 USEnglish 指公历的美国英语版本。 

备注

GregorianCalendar 关联的日期和时间模式因语言而异。如果在 DateTimeFormatInfo.Calendar 中选择了 GregorianCalendar,则可以使用 GregorianCalendarTypes 指定要在该 DateTimeFormatInfo 中使用的日期和时间模式。

对于阿拉伯语区域性,有多个语言版本的公历。例如,通过使用 MiddleEastFrench 值,可以使用 GregorianCalendar 的法语版本。

支持 GregorianCalendar 的区域性并不意味着支持 GregorianCalendar 的所有语言版本。该区域性所支持的日历可通过 CultureInfo.CalendarCultureInfo.OptionalCalendars 属性指定。如果支持 GregorianCalendar,则可以使用 CalendarType 确定支持 GregorianCalendar 的哪些语言版本。

示例

下面的代码示例演示了如何确定区域性支持的 GregorianCalendar 语言版本。

Imports System
Imports System.Globalization

Public Class SamplesCultureInfo

   Public Shared Sub Main()

      ' Gets the calendars supported by the ar-SA culture.
      Dim myOptCals As Calendar() = 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:")
      Dim cal As Calendar
      For Each cal In  myOptCals
         If cal.GetType() Is GetType(GregorianCalendar)  Then
            Dim myGreCal As GregorianCalendar = CType(cal, GregorianCalendar)
            Dim calType As GregorianCalendarTypes = myGreCal.CalendarType
            Console.WriteLine("   {0} ({1})", cal, calType)
         Else
            Console.WriteLine("   {0}", cal)
         End If
      Next cal

   End Sub 'Main 

End Class '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)
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)

*/
using namespace System;
using namespace System::Globalization;
using namespace System::Collections;
int main()
{
   
   // Calendar* myOptCals[] = new CultureInfo(S"ar-SA") -> OptionalCalendars;
   CultureInfo^ MyCI = gcnew CultureInfo( "ar-SA" );
   array<Calendar^>^myOptCals = MyCI->OptionalCalendars;
   
   // Checks which ones are GregorianCalendar then determines the GregorianCalendar version.
   Console::WriteLine( "The ar-SA culture supports the following calendars:" );
   IEnumerator^ myEnum = myOptCals->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Calendar^ cal = safe_cast<Calendar^>(myEnum->Current);
      if ( cal->GetType() == GregorianCalendar::typeid )
      {
         GregorianCalendar^ myGreCal = dynamic_cast<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)
*/

下面的代码示例使用本地化的 GregorianCalendar 输出 DateTime

Imports System
Imports System.Globalization

Public Class SamplesGregorianCalendar

   Public Shared Sub Main()

      ' Creates and initializes three different CultureInfo.
      Dim myCIarSA As New CultureInfo("ar-SA", False)
      Dim myCIdeDE As New CultureInfo("de-DE", False)
      Dim myCIenUS As New CultureInfo("en-US", False)
      Dim myCIfrFR As New CultureInfo("fr-FR", False)

      ' Creates a Localized GregorianCalendar.
      ' GregorianCalendarTypes.Localized is the default when using the GregorianCalendar constructor without parameters.
      Dim 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.
      Dim myDT As 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))

   End Sub 'Main 

End Class '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
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

*/
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes three different CultureInfo.
   CultureInfo^ myCIarSA = gcnew CultureInfo( "ar-SA",false );
   CultureInfo^ myCIdeDE = gcnew CultureInfo( "de-DE",false );
   CultureInfo^ myCIenUS = gcnew CultureInfo( "en-US",false );
   CultureInfo^ myCIfrFR = gcnew CultureInfo( "fr-FR",false );
   
   // Creates a Localized GregorianCalendar.
   // GregorianCalendarTypes::Localized is the default when using the GregorianCalendar constructor with->Item[Out] parameters.
   Calendar^ myCal = gcnew 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 = 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

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

System.Globalization 命名空间