JapaneseCalendar.GetEra Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Returns the era of a specified DateTime value.
Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function GetEra ( _
time As DateTime _
) As Integer
public override int GetEra(
DateTime time
)
Parameters
- time
Type: System.DateTime
The DateTime to read.
Return Value
Type: System.Int32
An integer that represents the era of the specified DateTime value.
Exceptions
Exception | Condition |
---|---|
ArgumentException | The resulting DateTime is outside the supported range. |
Remarks
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.
Examples
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
using System;
using System.Globalization;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
// 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.
outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar equals the following in the Japanese calendar:") + "\n";
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:" + "\n";
DisplayValues(outputBlock, myCal, myDT);
}
public static void DisplayValues(System.Windows.Controls.TextBlock outputBlock, Calendar myCal, DateTime myDT)
{
outputBlock.Text += String.Format(" Era: {0}", myCal.GetEra(myDT)) + "\n";
outputBlock.Text += String.Format(" Year: {0}", myCal.GetYear(myDT)) + "\n";
outputBlock.Text += String.Format(" Month: {0}", myCal.GetMonth(myDT)) + "\n";
outputBlock.Text += String.Format(" DayOfYear: {0}", myCal.GetDayOfYear(myDT)) + "\n";
outputBlock.Text += String.Format(" DayOfMonth: {0}", myCal.GetDayOfMonth(myDT)) + "\n";
outputBlock.Text += String.Format(" DayOfWeek: {0}", myCal.GetDayOfWeek(myDT)) + "\n";
outputBlock.Text += "\n";
}
}
/*
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
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.