JapaneseCalendar::GetEra Method (DateTime)
Returns the era in the specified DateTime.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- time
-
Type:
System::DateTime
The DateTime to read.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | The resulting DateTime is outside the supported range. |
The Japanese calendar recognizes one era for every emperor's reign. The current era is the Heisei era, which began in the Gregorian calendar year 1989. The era name is typically displayed before the year. For example, the Gregorian calendar year 2001 is the Japanese calendar year Heisei 13. Note that the first year of an era is called "Gannen." Therefore, the Gregorian calendar year 1989 was the Japanese calendar year Heisei Gannen.
This class assigns numbers to the eras as follows:
GetEra value | Era Name | Era Abbreviation | Gregorian Dates |
|---|---|---|---|
4 | 平成 (Heisei) | 平 (H, h) | January 8, 1989 to present |
3 | 昭和 (Showa) | 昭 (S, s) | December 25, 1926 to January 7, 1989 |
2 | 大正 (Taisho) | 大 (T, t) | July 30, 1912 to December 24, 1926 |
1 | 明治 (Meiji) | 明 (M, m) | September 8, 1868 to July 29, 1912 |
Ordinarily, the JapaneseCalendar class supports dates from September 8 in the year Meiji 1 (September 8, 1868 of the Gregorian calendar), which is the value of the MinSupportedDateTime property. However, the GetEra method successfully returns the era for dates from January 1 through September 7 in the year Meiji 1 (January 1, 1868 through September 7, 1868 in the Gregorian calendar). For dates earlier than January 1, 1868 in the Gregorian calendar, the method throws an ArgumentOutOfRangeException exception.
The following example displays the values of several components of a DateTime in terms of the Japanese calendar.
using namespace System; using namespace System::Globalization; 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(); } int main() { // Sets a DateTime to April 3, 2002 of the Gregorian calendar. DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar); // Creates an instance of the JapaneseCalendar. JapaneseCalendar^ myCal = gcnew 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 ); } /* 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 */
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0