JapaneseCalendar.GetEra Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns the era of a specified DateTime value.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- time
- Type: System.DateTime
The DateTime to read.
| Exception | Condition |
|---|---|
| ArgumentException | 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) | January 1, 1868 to July 29, 1912 |
This class handles only dates from the first day of the first month in the year Meiji 1 (January 1, 1868 of the Gregorian calendar). Although the Japanese calendar was switched from a lunar calendar to a solar calendar in the year Meiji 6 (1873 of the Gregorian calendar), this implementation is based on the solar calendar only.
The following code example displays the values of several components of a DateTime in terms of the Japanese calendar.
Imports System.Globalization Public Class Example Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) ' 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. outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:") & vbCrLf DisplayValues(outputBlock, myCal, myDT) ' Adds two years and ten months. myDT = myCal.AddYears(myDT, 2) myDT = myCal.AddMonths(myDT, 10) ' Displays the values of the DateTime. outputBlock.Text &= "After adding two years and ten months:" & vbCrLf DisplayValues(outputBlock, myCal, myDT) End Sub Public Shared Sub DisplayValues(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myCal As Calendar, ByVal myDT As DateTime) outputBlock.Text += String.Format(" Era: {0}", myCal.GetEra(myDT)) & vbCrLf outputBlock.Text += String.Format(" Year: {0}", myCal.GetYear(myDT)) & vbCrLf outputBlock.Text += String.Format(" Month: {0}", myCal.GetMonth(myDT)) & vbCrLf outputBlock.Text += String.Format(" DayOfYear: {0}", myCal.GetDayOfYear(myDT)) & vbCrLf outputBlock.Text += String.Format(" DayOfMonth: {0}", myCal.GetDayOfMonth(myDT)) & vbCrLf outputBlock.Text += String.Format(" DayOfWeek: {0}", myCal.GetDayOfWeek(myDT)) & vbCrLf outputBlock.Text &= vbCrLf End Sub End Class ' This eample 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