CultureInfo.OptionalCalendars Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene la lista de calendarios que puede utilizar la referencia cultural.
public:
virtual property cli::array <System::Globalization::Calendar ^> ^ OptionalCalendars { cli::array <System::Globalization::Calendar ^> ^ get(); };
public virtual System.Globalization.Calendar[] OptionalCalendars { get; }
member this.OptionalCalendars : System.Globalization.Calendar[]
Public Overridable ReadOnly Property OptionalCalendars As Calendar()
Valor de propiedad
Matriz de tipo Calendar que representa los calendarios que puede utilizar la referencia cultural representada por el objeto CultureInfo actual.
Ejemplos
En el ejemplo de código siguiente se muestra cómo determinar las GregorianCalendar versiones admitidas por la referencia cultural.
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)
*/
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)
*/
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
End Class
'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)
Comentarios
La aplicación cambia el calendario usado por el actual CultureInfo estableciendo la Calendar propiedad de , que es una instancia de DateTimeFormatla DateTimeFormatInfo clase . El nuevo calendario debe ser uno de los calendarios enumerados en OptionalCalendars. DateTimeFormat también incluye otras propiedades que personalizan el formato de fecha y hora asociado a ese Calendar.