JapaneseCalendar Class

Definition

Represents the Japanese calendar.

public ref class JapaneseCalendar : System::Globalization::Calendar
public class JapaneseCalendar : System.Globalization.Calendar
[System.Serializable]
public class JapaneseCalendar : System.Globalization.Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class JapaneseCalendar : System.Globalization.Calendar
type JapaneseCalendar = class
    inherit Calendar
[<System.Serializable>]
type JapaneseCalendar = class
    inherit Calendar
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type JapaneseCalendar = class
    inherit Calendar
Public Class JapaneseCalendar
Inherits Calendar
Inheritance
JapaneseCalendar
Attributes

Remarks

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.

Note

For information about using the JapaneseCalendar class and the other calendar classes in .NET, see Working with Calendars.

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.

Important

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. For more information and to determine whether your applications are affected, see Handling a new era in the Japanese calendar in .NET. For information on testing your applications on Windows systems to ensure their readiness for the era change, see Prepare your application for the Japanese era change. For features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras, see Working with 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
1 1月 (Ichigatsu) January 31 31
2 2月 (Nigatsu) February 28 29
3 3月 (Sangatsu) March 31 31
4 4月 (Shigatsu) April 30 30
5 5月 (Gogatsu) May 31 31
6 6月 (Rokugatsu) June 30 30
7 7月 (Shichigatsu) July 31 31
8 8月 (Hachigatsu) August 31 31
9 9月 (Kugatsu) September 30 30
10 10月 (Juugatsu) October 31 31
11 11月 (Juuichigatsu) November 30 30
12 12月 (Juunigatsu) December 31 31

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. DateTime.Parse 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.

Constructors

JapaneseCalendar()

Initializes a new instance of the JapaneseCalendar class.

Fields

CurrentEra

Represents the current era of the current calendar. The value of this field is 0.

(Inherited from Calendar)

Properties

AlgorithmType

Gets a value that indicates whether the current calendar is solar-based, lunar-based, or a combination of both.

AlgorithmType

Gets a value indicating whether the current calendar is solar-based, lunar-based, or a combination of both.

(Inherited from Calendar)
DaysInYearBeforeMinSupportedYear

Gets the number of days in the year that precedes the year that is specified by the MinSupportedDateTime property.

(Inherited from Calendar)
Eras

Gets the list of eras in the JapaneseCalendar.

IsReadOnly

Gets a value indicating whether this Calendar object is read-only.

(Inherited from Calendar)
MaxSupportedDateTime

Gets the latest date and time supported by the current JapaneseCalendar object.

MaxSupportedDateTime

Gets the latest date and time supported by this Calendar object.

(Inherited from Calendar)
MinSupportedDateTime

Gets the earliest date and time supported by the current JapaneseCalendar object.

MinSupportedDateTime

Gets the earliest date and time supported by this Calendar object.

(Inherited from Calendar)
TwoDigitYearMax

Gets or sets the last year of a 100-year range that can be represented by a 2-digit year.

Methods

AddDays(DateTime, Int32)

Returns a DateTime that is the specified number of days away from the specified DateTime.

(Inherited from Calendar)
AddHours(DateTime, Int32)

Returns a DateTime that is the specified number of hours away from the specified DateTime.

(Inherited from Calendar)
AddMilliseconds(DateTime, Double)

Returns a DateTime that is the specified number of milliseconds away from the specified DateTime.

(Inherited from Calendar)
AddMinutes(DateTime, Int32)

Returns a DateTime that is the specified number of minutes away from the specified DateTime.

(Inherited from Calendar)
AddMonths(DateTime, Int32)

Returns a DateTime that is the specified number of months away from the specified DateTime.

AddSeconds(DateTime, Int32)

Returns a DateTime that is the specified number of seconds away from the specified DateTime.

(Inherited from Calendar)
AddWeeks(DateTime, Int32)

Returns a DateTime that is the specified number of weeks away from the specified DateTime.

(Inherited from Calendar)
AddYears(DateTime, Int32)

Returns a DateTime that is the specified number of years away from the specified DateTime.

Clone()

Creates a new object that is a copy of the current Calendar object.

(Inherited from Calendar)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDayOfMonth(DateTime)

Returns the day of the month in the specified DateTime.

GetDayOfWeek(DateTime)

Returns the day of the week in the specified DateTime.

GetDayOfYear(DateTime)

Returns the day of the year in the specified DateTime.

GetDaysInMonth(Int32, Int32)

Returns the number of days in the specified month and year of the current era.

(Inherited from Calendar)
GetDaysInMonth(Int32, Int32, Int32)

Returns the number of days in the specified month in the specified year in the specified era.

GetDaysInYear(Int32)

Returns the number of days in the specified year of the current era.

(Inherited from Calendar)
GetDaysInYear(Int32, Int32)

Returns the number of days in the specified year in the specified era.

GetEra(DateTime)

Returns the era in the specified DateTime.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetHour(DateTime)

Returns the hours value in the specified DateTime.

(Inherited from Calendar)
GetLeapMonth(Int32)

Calculates the leap month for a specified year.

(Inherited from Calendar)
GetLeapMonth(Int32, Int32)

Calculates the leap month for a specified year and era.

GetLeapMonth(Int32, Int32)

Calculates the leap month for a specified year and era.

(Inherited from Calendar)
GetMilliseconds(DateTime)

Returns the milliseconds value in the specified DateTime.

(Inherited from Calendar)
GetMinute(DateTime)

Returns the minutes value in the specified DateTime.

(Inherited from Calendar)
GetMonth(DateTime)

Returns the month in the specified DateTime.

GetMonthsInYear(Int32)

Returns the number of months in the specified year in the current era.

(Inherited from Calendar)
GetMonthsInYear(Int32, Int32)

Returns the number of months in the specified year in the specified era.

GetSecond(DateTime)

Returns the seconds value in the specified DateTime.

(Inherited from Calendar)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Returns the week of the year that includes the date in the specified DateTime.

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Returns the week of the year that includes the date in the specified DateTime value.

(Inherited from Calendar)
GetYear(DateTime)

Returns the year in the specified DateTime.

IsLeapDay(Int32, Int32, Int32)

Determines whether the specified date in the current era is a leap day.

(Inherited from Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

Determines whether the specified date in the specified era is a leap day.

IsLeapMonth(Int32, Int32)

Determines whether the specified month in the specified year in the current era is a leap month.

(Inherited from Calendar)
IsLeapMonth(Int32, Int32, Int32)

Determines whether the specified month in the specified year in the specified era is a leap month.

IsLeapYear(Int32)

Determines whether the specified year in the current era is a leap year.

(Inherited from Calendar)
IsLeapYear(Int32, Int32)

Determines whether the specified year in the specified era is a leap year.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Returns a DateTime that is set to the specified date and time in the current era.

(Inherited from Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Returns a DateTime that is set to the specified date and time in the specified era.

ToFourDigitYear(Int32)

Converts the specified year to a four-digit year by using the TwoDigitYearMax property to determine the appropriate century.

ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also