JapaneseCalendar::GetEra Method
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 only from September 8 in the year Meiji 1 (September 8, 1868 of the Gregorian calendar), which is the value of the JapaneseCalendar::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 */
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.