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
属性

注釈

和暦とも呼ばれる和暦はグレゴリオ暦とまったく同じように動作しますが、年と時代が異なる点が異なります。

Note

.NET で JapaneseCalendar クラスとその他の予定表クラスを使用する方法については、「 予定表の操作」を参照してください。

日本暦は、天皇の治世ごとに1つの時代を認識しています。 2つの最も新しい時代は、グレゴリオ暦1989年から始まる平成時代と、グレゴリオ暦2019年から始まるレイワ時代です。 元号の名前は通常、年の前に表示されます。 たとえば、グレゴリオ暦の 2001 年は、日本の暦年平成 13 年です。 元号の最初の年は "元年" と呼ばれることに注意してください。したがって、グレゴリオ暦の1989年は、日本の暦年平成元年でした。 既定では、指定された日付と時刻の書式指定文字列 ("D"、"F"、"Y" など) を使用した書式設定操作では、結果文字列に "1" ではなく元年が出力されます。

Important

日本暦の年号は天皇の治世に基づいているため、変化することが期待されます。 たとえば、2019 年 5 月 1 日は、 JapaneseCalendarJapaneseLunisolarCalendarのレイワ時代の始まりを迎えています。 このような時代の変化は、これらのカレンダーを使用するすべてのアプリケーションに影響します。 詳細およびアプリケーションが影響を受けるかどうかを判断するには、「 .NET の日本語カレンダーでの新しい時代 (年号) の処理」を参照してください。 Windows システムでアプリケーションをテストし、時代 (年号) の変更に対する準備を行う方法については、「 日本の時代 (年号) に合わせてアプリケーションを準備する」を参照してください。 複数の時代 (年号) を含むカレンダーをサポートする .NET の機能と、複数の時代 (年号) をサポートするカレンダーを使用する場合のベスト プラクティスについては、「 年号の使用」を参照してください。

このクラスは、次のように時代 (年号) に数値を割り当てます。

GetEra 値 時代 (年号) の名前 時代 (年号) の省略形 グレゴリオ暦の日付
5 令和 (Reiwa) 令和 (R, r) 2019 年 5 月 1 日から現在
4 平成 平 (H,h) 1989 年 1 月 8 日から 2019 年 4 月 30 日
3 昭和 (昭和) 昭 (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 日

このクラスは、明治1年(1868年10月23日グレゴリオ暦)の10月23日の日付を処理します。 日本暦は明治6年(グレゴリオ暦の1873年)に旧暦から太陽暦に切り替えられたが、この実装は太陽暦のみに基づいている。

日本暦の閏年は、グレゴリオ暦の同じ閏年に対応します。 グレゴリオ暦の閏年は、100 で割り切れる場合を除き、4 つで均等に割り切れるグレゴリオ暦の年として定義されます。 ただし、400 で割り切れるグレゴリオ暦の年は閏年です。 一般的な年は 365 日、閏年は 366 日です。

日本語カレンダーには、それぞれ 28 日から 31 日の 12 か月があります。

GetMonth 値 英語 一般的な年の日数 閏年の日数
1 1 月 (一月) 1月 31 31
2 2 月 (ニガツ) 2 月 28 二十九
3 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 月 (Juunigatsu) 12 月 31 31

2月のグレゴリオ暦の月に相当するニガツは、閏年は29日、一般的な年は28日です。

グレゴリオ暦の 2001 年 1 月 1 日の日付は、日本暦の平成 13 年の一月の最初の日に相当します。

JapaneseCalendarが現在の日本文化の暦である場合、DateTime.Parseは年の前に時代 (年号) の省略形を認識します。 省略形は、大文字と小文字を区別しない 1 文字の英字の省略形または単一文字の漢字の省略形です。 DateTime.Parse また、元号の最初の年として "1" または元年 (元年) を認識します。

CultureInfo オブジェクトは、一連の予定表をサポートしています。 Calendar プロパティはカルチャの既定のカレンダーを返し、OptionalCalendars プロパティはカルチャでサポートされているすべての予定表を含む配列を返します。 CultureInfoで使用されるカレンダーを変更するには、DateTimeFormatInfo.Calendar プロパティを新しいCalendarに設定します。

コンストラクター

名前 説明
JapaneseCalendar()

JapaneseCalendar クラスの新しいインスタンスを初期化します。

フィールド

名前 説明
CurrentEra

現在のカレンダーの現在の時代 (年号) を表します。 このフィールドの値は 0 です。

(継承元 Calendar)

プロパティ

名前 説明
AlgorithmType

現在のカレンダーが太陽系、月ベース、またはその両方の組み合わせかどうかを示す値を取得します。

DaysInYearBeforeMinSupportedYear

MinSupportedDateTime プロパティで指定された年の前の年の日数を取得します。

(継承元 Calendar)
Eras

JapaneseCalendarの時代 (年号) の一覧を取得します。

IsReadOnly

この Calendar オブジェクトが読み取り専用かどうかを示す値を取得します。

(継承元 Calendar)
MaxSupportedDateTime

現在の JapaneseCalendar オブジェクトでサポートされている最新の日付と時刻を取得します。

MinSupportedDateTime

現在の JapaneseCalendar オブジェクトでサポートされている最も古い日付と時刻を取得します。

TwoDigitYearMax

2 桁の年で表すことができる 100 年の範囲の最後の年を取得または設定します。

メソッド

名前 説明
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)

指定した時代 (年号) の指定した日付が閏日かどうかを判断します。

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 プロパティを使用して適切な世紀を決定することで、指定した年を 4 桁の年に変換します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください