Represents the Japanese calendar.
public ref class JapaneseCalendar : System::Globalization::Calendar
[System.Runtime.InteropServices.ComVisible(true)] [System.Serializable] public class JapaneseCalendar : System.Globalization.Calendar
type JapaneseCalendar = class inherit Calendar
Public Class JapaneseCalendar Inherits Calendar
The Japanese calendar, which is also known as the Wareki calendar, works exactly like the Gregorian calendar, except that the year and era are different.
The Japanese calendar recognizes one era for every emperor's reign. The two most recent eras are the Heisei era, beginning in the Gregorian calendar year 1989, and the Reiwa era, beginning in the Gregorian calendar year 2019. 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. By default, formatting operations with specified date and time format strings, such as "D", "F", and "Y", output Gannen rather than "1" in the result string.
Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Such a change of era affects all applications that use these calendars. See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.
This class assigns numbers to the eras as follows:
|GetEra value||Era Name||Era Abbreviation||Gregorian Dates|
|5||令和 (Reiwa)||令和 (R, r)||May 1, 2019 to present|
|4||平成 (Heisei)||平 (H, h)||January 8, 1989 to April 30, 2019|
|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|
This class handles dates from September 8 in the year Meiji 1 (in the Gregorian calendar, September 8, 1868). 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.
Leap years in the Japanese calendar correspond to the same leap years in the Gregorian calendar. A leap year in the Gregorian calendar is defined as a Gregorian year that is evenly divisible by four, except if it is divisible by 100. However, Gregorian years that are divisible by 400 are leap years. A common year has 365 days and a leap year has 366 days.
The Japanese calendar has 12 months with 28 to 31 days each:
|GetMonth value||Month||English||Days in common years||Days in leap years|
Nigatsu, which is equivalent to the Gregorian calendar month of February, has 29 days during leap years and 28 during common years.
The date January 1, 2001 A.D. in the Gregorian calendar is equivalent to the first day of Ichigatsu in the year Heisei 13 in the Japanese calendar.
If the JapaneseCalendar is the current calendar of the Japanese culture, DateTime.Parse recognizes the era abbreviations in front of the year. The abbreviation is either the single-character case-insensitive Latin alphabet abbreviation or the single-character Kanji abbreviation. xref:System.DateTime.Parse%2A?displayProperty=nameWithType> also recognizes either "1" or Gannen (元年) as the first year of an era.
Each CultureInfo object supports a set of calendars. The Calendar property returns the default calendar for the culture, and the OptionalCalendars property returns an array containing all the calendars supported by the culture. To change the calendar used by a CultureInfo, set the DateTimeFormatInfo.Calendar property to a new Calendar.
|JapaneseCalendar() JapaneseCalendar() JapaneseCalendar() JapaneseCalendar()||
Initializes a new instance of the JapaneseCalendar class.
|AlgorithmType AlgorithmType AlgorithmType AlgorithmType||
Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both.
|DaysInYearBeforeMinSupportedYear DaysInYearBeforeMinSupportedYear DaysInYearBeforeMinSupportedYear DaysInYearBeforeMinSupportedYear||
Gets the number of days in the year that precedes the year that is specified by the MinSupportedDateTime property.(Inherited from Calendar)
|Eras Eras Eras Eras||
Gets the list of eras in the JapaneseCalendar.
|IsReadOnly IsReadOnly IsReadOnly IsReadOnly||
Gets a value indicating whether this Calendar object is read-only.(Inherited from Calendar)
|MaxSupportedDateTime MaxSupportedDateTime MaxSupportedDateTime MaxSupportedDateTime||
Gets the latest date and time supported by the current JapaneseCalendar object.
|MinSupportedDateTime MinSupportedDateTime MinSupportedDateTime MinSupportedDateTime||
Gets the earliest date and time supported by the current JapaneseCalendar object.
|TwoDigitYearMax TwoDigitYearMax TwoDigitYearMax TwoDigitYearMax||
Gets or sets the last year of a 100-year range that can be represented by a 2-digit year.
|CurrentEra CurrentEra CurrentEra CurrentEra||
Represents the current era of the current calendar. The value of this field is 0.(Inherited from Calendar)