DateTimeFormatInfo.GetEra(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает целое число, представляющее собой указанную эру.
public:
int GetEra(System::String ^ eraName);
public int GetEra (string eraName);
member this.GetEra : string -> int
Public Function GetEra (eraName As String) As Integer
Параметры
- eraName
- String
Строка, содержащая название эры.
Возвращаемое значение
Целое число, представляющее эру, если eraName
является допустимым; в противном случае -1.
Исключения
eraName
имеет значение null
.
Примеры
В следующем примере показано, что DateTimeFormatInfo знак препинания в имени эпохи игнорируется только в том случае, если календарь является григорианским, а язык и региональные параметры используют имя эры "A.D.".
using namespace System;
using namespace System::Globalization;
using namespace System::Collections;
int main()
{
// Creates strings with punctuation and without.
String^ strADPunc = "A.D.";
String^ strADNoPunc = "AD";
String^ strCEPunc = "C.E.";
String^ strCENoPunc = "CE";
// Calls DTFI::GetEra for each culture that uses GregorianCalendar as the default calendar.
Console::WriteLine( " ----- AD ----- ----- CE -----" );
Console::WriteLine( "CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR" );
IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator();
while ( en->MoveNext() )
{
CultureInfo^ myCI = safe_cast<CultureInfo^>(en->Current);
Console::Write( "{0, -12}", myCI );
Console::Write( "{0,-7}{1,-9}", myCI->DateTimeFormat->GetEra( strADPunc ), myCI->DateTimeFormat->GetEra( strADNoPunc ) );
Console::Write( "{0, -7}{1, -9}", myCI->DateTimeFormat->GetEra( strCEPunc ), myCI->DateTimeFormat->GetEra( strCENoPunc ) );
Console::Write( "{0}", myCI->Calendar );
Console::WriteLine();
}
}
/*
This code produces the following output. This output has been cropped for brevity.
----- AD ----- ----- CE -----
CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-HK 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
*/
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Creates strings with punctuation and without.
String strADPunc = "A.D.";
String strADNoPunc = "AD";
String strCEPunc = "C.E.";
String strCENoPunc = "CE";
// Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
Console.WriteLine( " ----- AD ----- ----- CE -----" );
Console.WriteLine( "CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR" );
foreach ( CultureInfo myCI in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) {
Console.Write( "{0,-12}", myCI );
Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strADPunc ), myCI.DateTimeFormat.GetEra( strADNoPunc ) );
Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strCEPunc ), myCI.DateTimeFormat.GetEra( strCENoPunc ) );
Console.Write( "{0}", myCI.Calendar );
Console.WriteLine();
}
}
}
/*
This code produces the following output. This output has been cropped for brevity.
----- AD ----- ----- CE -----
CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-HK -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Creates strings with punctuation and without.
Dim strADPunc As [String] = "A.D."
Dim strADNoPunc As [String] = "AD"
Dim strCEPunc As [String] = "C.E."
Dim strCENoPunc As [String] = "CE"
' Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
Console.WriteLine(" ----- AD ----- ----- CE -----")
Console.WriteLine("CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR")
Dim myCI As CultureInfo
For Each myCI In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
Console.Write("{0,-12}", myCI)
Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strADPunc), myCI.DateTimeFormat.GetEra(strADNoPunc))
Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strCEPunc), myCI.DateTimeFormat.GetEra(strCENoPunc))
Console.Write("{0}", myCI.Calendar)
Console.WriteLine()
Next myCI
End Sub
End Class
'This code produces the following output. This output has been cropped for brevity.
'
' ----- AD ----- ----- CE -----
'CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
'ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
'ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
'bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
'ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-HK -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
'zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
'cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
'da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
Комментарии
Имя эры — это имя, которое календарь использует для обозначения периода времени, отсчитываемого от фиксированной точки или события. Например, "A.D." или "C.E." — это текущая эпоха в григорианском календаре.
Сравнение с eraName
не учитывает регистр, например ,A.D. эквивалентно "a.d.".
GetEra Пропускает знаки препинания в сокращенных именах эр, только если GregorianCalendar выбран в DateTimeFormatInfo.Calendar и язык и региональные параметры используют "A.D." в качестве имени эры, то есть "A.D." эквивалентно "AD".
GetEraсравнивается с полным именем эры, возвращаемым параметром GetEraName , и с сокращенным именем эрыeraName
, возвращаемым параметром GetAbbreviatedEraName.
Важно!
Эры в японских календарях основаны на периодах царствования императоров. Таким образом, ожидается наступление новой эры. Например, 1 мая 2019 года в JapaneseCalendar и JapaneseLunisolarCalendar отмечено как начало эры Рэйва. Изменение эры затрагивает все приложения, использующие эти календари. Дополнительные сведения и определение того, затронуты ли ваши приложения, см. в статье Обработка новой эры в японском календаре в .NET. Сведения о тестировании приложений в системах Windows для обеспечения их готовности к изменению эпохи см. в статье Подготовка приложения к изменению японской эры. Сведения о функциях в .NET, поддерживающих календари с несколькими эрами, а также рекомендации по работе с календарями, поддерживающими несколько эпох, см. в статье Работа с эрами.