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

注釈

日本のカレンダーは、和暦とも呼ばれますが、年と時代 (年号) が異なる点を除いて、グレゴリオ暦のカレンダーとまったく同じように動作します。

注意

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

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

重要

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

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

GetEra 値 時代 (年号) 時代 (年号) の省略形 グレゴリオ暦の日付
5 令和 (Reiwa) 令和 (R, r) 2019 年 5 月 1日から現在まで
4 平成 (Heisei) 平 (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 明治 (Meiji) 明 (M, m) 1868 年 9 月 8 日から 1912 年 7 月 29 日まで

このクラスは、明治元年 9 月 8 日 (グレゴリオ暦の 1868 年 9 月 8 日) 以降の日付を処理します。 和暦は明治 6 年 (グレゴリオ暦の 1873 年) に太陰暦から太陽暦に切り替わりましたが、この実装は太陽暦のみに基づいています。

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

和暦には、28 ~ 31 日の 12 か月があります。

GetMonth 値 Month 英語 平年の日数 閏年の日数
1 1月 (Ichigatsu) January 31 31
2 2月 (Nigatsu) Ferbruary 28 29
3 3 月 (三ツ) 3 月 31 31
4 4 月 (志賀津) April 30 30
5 5 月 (五ヶ津) May 31 31
6 6 月 (六ヶ津) 6 月 30 30
7 7 月 (七ヶ津) 7 月 31 31
8 8 月 (八ヶ津) 8 月 31 31
9 9 月 (久我津) September 30 30
10 10 月 (十ヶ津) 10 月 31 31
11 11 月 (十一月) November 30 30
12 12 月 (十二月) 12 月 31 31

グレゴリオ暦の February に相当する 2 月は、閏年の場合は 29 日で、平年の場合は 28 日です。

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

JapaneseCalendarが日本文化の現在の暦である場合は、DateTime.Parse年の前に時代 (年号) の略語が認識されます。 省略形は、大文字・小文字を区別しないラテン アルファベット 1 文字の省略形か、漢字 1 文字の省略形のいずれかです。 DateTime.Parse また、"1" または元年 (元年) が時代の最初の年として認識されます。

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

コンストラクター

JapaneseCalendar()

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

フィールド

CurrentEra

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

(継承元 Calendar)

プロパティ

AlgorithmType

現在のカレンダーの暦法 (太陽暦、太陰暦、または両者の組み合わせ) を示す値を取得します。

AlgorithmType

現在のカレンダーの暦法 (太陽暦、太陰暦、または両者の組み合わせ) を示す値を取得します。

(継承元 Calendar)
DaysInYearBeforeMinSupportedYear

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

(継承元 Calendar)
Eras

JapaneseCalendar における時代 (年号) のリストを取得します。

IsReadOnly

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

(継承元 Calendar)
MaxSupportedDateTime

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

MaxSupportedDateTime

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

(継承元 Calendar)
MinSupportedDateTime

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

MinSupportedDateTime

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

(継承元 Calendar)
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)

現在の時代 (年号) の指定した月および年の日数を返します。

(継承元 Calendar)
GetDaysInMonth(Int32, Int32, Int32)

指定した時代 (年号) の指定した年の指定した月の日数を返します。

GetDaysInYear(Int32)

現在の時代 (年号) の指定した年の日数を返します。

(継承元 Calendar)
GetDaysInYear(Int32, Int32)

指定した時代 (年号) の指定した年の日数を返します。

GetEra(DateTime)

指定した DateTime の時代 (年号) を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetHour(DateTime)

指定した DateTime の時間の値を返します。

(継承元 Calendar)
GetLeapMonth(Int32)

指定された年の閏月を計算します。

(継承元 Calendar)
GetLeapMonth(Int32, Int32)

指定された年と時代 (年号) の閏月を計算します。

GetLeapMonth(Int32, Int32)

指定された年と時代 (年号) の閏月を計算します。

(継承元 Calendar)
GetMilliseconds(DateTime)

指定した DateTime のミリ秒の値を返します。

(継承元 Calendar)
GetMinute(DateTime)

指定した DateTime の分の値を返します。

(継承元 Calendar)
GetMonth(DateTime)

指定した DateTime の月を返します。

GetMonthsInYear(Int32)

現在の時代 (年号) の指定した年の月数を返します。

(継承元 Calendar)
GetMonthsInYear(Int32, Int32)

指定した時代 (年号) の指定した年の月数を返します。

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)

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

(継承元 Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

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

IsLeapMonth(Int32, Int32)

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

(継承元 Calendar)
IsLeapMonth(Int32, Int32, Int32)

指定した時代 (年号) の指定した年の指定した月が閏月かどうかを確認します。

IsLeapYear(Int32)

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

(継承元 Calendar)
IsLeapYear(Int32, Int32)

指定した時代 (年号) の指定した年が閏年かどうかを確認します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

現在の時代 (年号) の指定した日付と時刻に設定された DateTime を返します。

(継承元 Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

指定した時代 (年号) の指定した日付と時刻に設定された DateTime を返します。

ToFourDigitYear(Int32)

TwoDigitYearMax プロパティを使用して、指定した年を 4 桁表記に変換し、適切な世紀を判断します。

ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください