语言

JapaneseCalendar 类

定义

表示日语日历。

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
继承
JapaneseCalendar
属性

注解

日本日历(也称为 Wareki 日历)的工作方式与公历完全相同,但年份和纪元不同。

注释

有关在 .NET 中使用 JapaneseCalendar 类和其他日历类的信息,请参阅 使用日历。

日本历承认每个皇帝统治的一个时代。 最近两个时代是海西时代,从1989年的公历年开始,从2019年公历年开始的雷瓦时代。 纪元名称通常显示在年份之前。 例如,2001 年公历年是日本日历年 Heisei 13。 请注意,一个时代的第一年被称为“甘宁”。因此,1989年公历年是日本历年海西甘宁。 默认情况下,使用指定的日期和时间格式字符串(如“D”、“F”和“Y”)的格式设置操作,输出 Gannen 而不是结果字符串中的“1”。

Important

日本日历中的纪元基于皇帝的统治,因此预计将改变。 例如,2019 年 5 月 1 日在 JapaneseCalendar 和 JapaneseLunisolarCalendar 中标志着令和年号的开始。 这种时代变化会影响使用这些日历的所有应用程序。 有关详细信息以及确定您的应用程序是否受到影响,请参阅 在 .NET 中处理日语日历的新纪元。 有关在 Windows 系统上测试应用程序以确保其为纪元更改做好准备的信息,请参阅 为日本时代更改准备应用程序。 有关支持具有多个纪元的日历以及处理支持多个纪元的日历的最佳做法的 .NET 中的功能,请参阅 “使用纪元”。

此类将数字分配给纪元,如下所示:

GetEra 值 纪元名称 纪元缩写 公历日期
5 令和 (Reiwa) 令和 (R, r) 2019 年 5 月 1 日至今
4 平成 (海西) 平 (H, h) 1989 年 1 月 8 日至 2019 年 4 月 30 日
3 昭和 (Showa) 昭 (S, s) 1926年12月25日至1989年1月7日
2 大正 (大正) 大 (T, t) 1912 年 7 月 30 日至 1926 年 12 月 24 日
1 明治 (梅吉) 明 (M, m) 1868 年 10 月 23 日到 1912 年 7 月 29 日

此类处理日期从 10 月 23 日(在公历,1868 年 10 月 23 日)。 虽然日本日历从农历改为“梅吉六”(公历1873年)的一年日历,但这一实现仅基于太阳历。

日本日历中的 Leap 年对应于公历中的同一跃年。 公历中的一个跃年定义为公历的公历年,该年被四者均匀地分割,除非它被 100 分割。 然而,被400分可见的公历年是飞跃年。 常见年份有 365 天,跃年有 366 天。

日本日历有 12 个月,每个月 28 到 31 天:

GetMonth 值 月 英语 常见年份中的天数 跨越年份中的天数
1 1 月 (Ichigatsu) 1 月 31 31
2 2 月 (日松) 2 月 28 二十九
3 3 月 (桑加松) 三月 31 31
4 4 月 (石加松) 4 月 30 30
5 5 月 (高松) 5 月 31 31
6 6 月 (罗库加松) 6 月 30 30
7 7 月 (石池松) 7 月 31 31
8 8 月 (哈奇加松) 8 月 31 31
9 9 月 (Kugatsu) 9 月 30 30
10 10 月 (朱加松) 10 月 31 31
11 11 月 (朱一加松) 11 月 30 30
12 12 月 (朱尼加松) 12 月 31 31

Nigatsu 相当于 2 月的公历月,在跨年有 29 天,在普通年份有 28 天。

2001年1月1日,公历的A.D.相当于日历第一天一日。

JapaneseCalendar如果这是日本文化的当前日历,DateTime.Parse则识别年度前的纪元缩写。 缩写是单字符不区分大小写的拉丁字母缩写或单字符汉字缩写。 DateTime.Parse 还承认“1”或甘宁(元年)是时代的第一年。

每个 CultureInfo 对象支持一组日历。 该 Calendar 属性返回区域性的默认日历,该 OptionalCalendars 属性返回包含区域性支持的所有日历的数组。 若要更改 a CultureInfo使用的日历,请将 DateTimeFormatInfo.Calendar 属性设置为新 Calendar日历。

构造函数

名称 说明
JapaneseCalendar()

初始化 JapaneseCalendar 类的新实例。

字段

名称 说明
CurrentEra

表示当前日历的当前纪元。 此字段的值为 0。

(继承自 Calendar)

属性

名称 说明
AlgorithmType

获取一个值,该值指示当前日历是基于太阳的、基于月球的还是两者的组合。

DaysInYearBeforeMinSupportedYear

获取属性指定的 MinSupportedDateTime 年份之前的年份中的天数。

(继承自 Calendar)
Eras

获取 . 中的 JapaneseCalendar纪元列表。

IsReadOnly

获取一个值,该值指示此 Calendar 对象是否为只读。

(继承自 Calendar)
MaxSupportedDateTime

获取当前 JapaneseCalendar 对象支持的最新日期和时间。

MinSupportedDateTime

获取当前 JapaneseCalendar 对象支持的最早日期和时间。

TwoDigitYearMax

获取或设置一个 100 年范围的上一年,该范围可以由 2 位年份表示。

方法

名称 说明
AddDays(DateTime, Int32)

返回 DateTime 与指定的天数相距的指定 DateTime天数。

(继承自 Calendar)
AddHours(DateTime, Int32)

返回 DateTime 与指定的小时数相距的指定 DateTime小时数。

(继承自 Calendar)
AddMilliseconds(DateTime, Double)

返回 DateTime 与指定时间相距的指定 DateTime毫秒数。

(继承自 Calendar)
AddMinutes(DateTime, Int32)

返回 DateTime 与指定的分钟数相距的指定 DateTime分钟数。

(继承自 Calendar)
AddMonths(DateTime, Int32)

返回 DateTime 与指定月份相距指定的 DateTime月份数。

AddSeconds(DateTime, Int32)

返回 DateTime 与指定的秒数相距的指定 DateTime秒数。

(继承自 Calendar)
AddWeeks(DateTime, Int32)

返回 DateTime 与指定的周数相距的指定 DateTime周数。

(继承自 Calendar)
AddYears(DateTime, Int32)

返回一个 DateTime 与指定年份相距的指定 DateTime年数。

Clone()

创建一个新对象,该对象是当前 Calendar 对象的副本。

(继承自 Calendar)
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetDayOfMonth(DateTime)

返回指定 DateTime月份中的日期。

GetDayOfWeek(DateTime)

返回指定 DateTime中的星期几。

GetDayOfYear(DateTime)

返回指定 DateTime年份中的一天。

GetDaysInMonth(Int32, Int32, Int32)

返回指定纪元中指定年份的指定月份中的天数。

GetDaysInMonth(Int32, Int32)

返回当前纪元的指定月份和年份中的天数。

(继承自 Calendar)
GetDaysInYear(Int32, Int32)

返回指定纪元中指定年份中的天数。

GetDaysInYear(Int32)

返回当前纪元指定年份中的天数。

(继承自 Calendar)
GetEra(DateTime)

返回指定 DateTime中的纪元。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetHour(DateTime)

返回指定 DateTime中的小时值。

(继承自 Calendar)
GetLeapMonth(Int32, Int32)

计算指定年份和纪元的跃点月。

GetLeapMonth(Int32)

计算指定年份的跃点月。

(继承自 Calendar)
GetMilliseconds(DateTime)

返回指定 DateTime中的毫秒值。

(继承自 Calendar)
GetMinute(DateTime)

返回指定 DateTime中的分钟值。

(继承自 Calendar)
GetMonth(DateTime)

返回指定 DateTime月份中的月份。

GetMonthsInYear(Int32, Int32)

返回指定纪元中指定年份中的月份数。

GetMonthsInYear(Int32)

返回当前纪元中指定年份的月份数。

(继承自 Calendar)
GetSecond(DateTime)

返回指定 DateTime中的秒值。

(继承自 Calendar)
GetType()

获取当前实例的 Type。

(继承自 Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

返回包含指定 DateTime日期的年份的一周。

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

返回包含指定 DateTime 值中的日期的年份的周。

(继承自 Calendar)
GetYear(DateTime)

返回指定 DateTime中的年份。

IsLeapDay(Int32, Int32, Int32, Int32)

确定指定纪元中的指定日期是否为 leap 日。

IsLeapDay(Int32, Int32, Int32)

确定当前纪元中的指定日期是否为跃点。

(继承自 Calendar)
IsLeapMonth(Int32, Int32, Int32)

确定指定纪元中指定年份中的指定月份是否为跃月。

IsLeapMonth(Int32, Int32)

确定当前纪元中指定年份中的指定月份是否为跃月。

(继承自 Calendar)
IsLeapYear(Int32, Int32)

确定指定纪元中的指定年份是否为跃年。

IsLeapYear(Int32)

确定当前时代的指定年份是否为跃年。

(继承自 Calendar)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

返回一个 DateTime 设置为指定纪元中的指定日期和时间。

ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

返回一个 DateTime 设置为当前纪元中的指定日期和时间。

(继承自 Calendar)
ToFourDigitYear(Int32)

通过使用属性来确定相应的世纪,将 TwoDigitYearMax 指定年份转换为四位数年份。

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅