JapaneseCalendar.GetEra(DateTime) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve a era no especificado DateTime.
public:
override int GetEra(DateTime time);
public override int GetEra(DateTime time);
override this.GetEra : DateTime -> int
Public Overrides Function GetEra (time As DateTime) As Integer
Parâmetros
Devoluções
Um inteiro que representa a era no especificado DateTime.
Exceções
O resultado DateTime está fora do alcance suportado.
Exemplos
O exemplo seguinte mostra os valores de vários componentes de a DateTime em termos do calendário japonês.
using System;
using System.Globalization;
public class SamplesJapaneseCalendar {
public static void Main() {
// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );
// Creates an instance of the JapaneseCalendar.
JapaneseCalendar myCal = new JapaneseCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:" );
DisplayValues( myCal, myDT );
// Adds two years and ten months.
myDT = myCal.AddYears( myDT, 2 );
myDT = myCal.AddMonths( myDT, 10 );
// Displays the values of the DateTime.
Console.WriteLine( "After adding two years and ten months:" );
DisplayValues( myCal, myDT );
}
public static void DisplayValues( Calendar myCal, DateTime myDT ) {
Console.WriteLine( " Era: {0}", myCal.GetEra( myDT ) );
Console.WriteLine( " Year: {0}", myCal.GetYear( myDT ) );
Console.WriteLine( " Month: {0}", myCal.GetMonth( myDT ) );
Console.WriteLine( " DayOfYear: {0}", myCal.GetDayOfYear( myDT ) );
Console.WriteLine( " DayOfMonth: {0}", myCal.GetDayOfMonth( myDT ) );
Console.WriteLine( " DayOfWeek: {0}", myCal.GetDayOfWeek( myDT ) );
Console.WriteLine();
}
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:
Era: 4
Year: 14
Month: 4
DayOfYear: 93
DayOfMonth: 3
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 4
Year: 17
Month: 2
DayOfYear: 34
DayOfMonth: 3
DayOfWeek: Thursday
*/
Imports System.Globalization
Public Class SamplesJapaneseCalendar
Public Shared Sub Main()
' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())
' Creates an instance of the JapaneseCalendar.
Dim myCal As New JapaneseCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:")
DisplayValues(myCal, myDT)
' Adds two years and ten months.
myDT = myCal.AddYears(myDT, 2)
myDT = myCal.AddMonths(myDT, 10)
' Displays the values of the DateTime.
Console.WriteLine("After adding two years and ten months:")
DisplayValues(myCal, myDT)
End Sub
Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
Console.WriteLine(" Era: {0}", myCal.GetEra(myDT))
Console.WriteLine(" Year: {0}", myCal.GetYear(myDT))
Console.WriteLine(" Month: {0}", myCal.GetMonth(myDT))
Console.WriteLine(" DayOfYear: {0}", myCal.GetDayOfYear(myDT))
Console.WriteLine(" DayOfMonth: {0}", myCal.GetDayOfMonth(myDT))
Console.WriteLine(" DayOfWeek: {0}", myCal.GetDayOfWeek(myDT))
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:
' Era: 4
' Year: 14
' Month: 4
' DayOfYear: 93
' DayOfMonth: 3
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 4
' Year: 17
' Month: 2
' DayOfYear: 34
' DayOfMonth: 3
' DayOfWeek: Thursday
Observações
O calendário japonês reconhece uma era para o reinado de cada imperador. As duas eras mais recentes são a era Heisei, que começa no ano do calendário gregoriano de 1989, e a era Reiwa, que começa no ano do calendário gregoriano de 2019. O nome da era é normalmente exibido antes do ano. Por exemplo, o ano gregoriano de 2001 é o ano japonês Heisei 13. Note-se que o primeiro ano de uma era chama-se "Gannen". Portanto, o ano do calendário gregoriano de 1989 foi o ano japonês Heisei Gannen.
Importante
As eras nos calendários japoneses são baseadas no reinado do imperador e, portanto, espera-se que mudem. Por exemplo, 1º de maio de 2019 marcou o início da era Reiwa no JapaneseCalendar e JapaneseLunisolarCalendar. Essa mudança de era afeta todos os aplicativos que usam esses calendários. Para obter mais informações e determinar se seus aplicativos são afetados, consulte Manipulando uma nova era no calendário japonês no .NET. Para obter informações sobre como testar seus aplicativos em sistemas Windows para garantir sua prontidão para a mudança de era, consulte Preparar seu aplicativo para a mudança de era japonesa. Para obter recursos no .NET que oferecem suporte a calendários com várias eras e práticas recomendadas ao trabalhar com calendários que suportam várias eras, consulte Trabalhando com eras.
Esta classe atribui números às eras da seguinte forma:
| Valor GetEra | Nome da Era | Abreviatura de Era | Datas Gregorianas |
|---|---|---|---|
| 5 | 令和 (Reiwa) | 令和 (R, r) | 1 de maio de 2019 até ao presente |
| 4 | 平成 (Heisei) | 平 (H, h) | 8 de janeiro de 1989 a 30 de abril de 2019 |
| 3 | 昭和 (Showa) | 昭 (S, s) | 25 de dezembro de 1926 a 7 de janeiro de 1989 |
| 2 | 大正 (Taisho) | 大 (T, t) | 30 de julho de 1912 a 24 de dezembro de 1926 |
| 1 | 明治 (Meiji) | 明 (M, m) | 23 de outubro de 1868 a 29 de julho de 1912 |
Normalmente, a classe JapaneseCalendar suporta data de 23 de outubro do ano 1 Meiji (23 de outubro de 1868 do calendário gregoriano), que é o valor da propriedade MinSupportedDateTime em versões .NET 11 e posteriores. No entanto, o GetEra método retorna com sucesso a era para datas de 1 de janeiro a 22 de outubro do ano Meiji 1 (1 de janeiro de 1868 a 22 de outubro de 1868 no calendário gregoriano). Para datas anteriores a 1 de janeiro de 1868 no calendário gregoriano, o método faz uma ArgumentOutOfRangeException exceção.