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 値 Era 名 時代 (年号) の省略形 グレゴリオ暦の日付
5 令和 (レイワ) 令和 (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 月 (Kugatsu) September 30 30
10 10 月 (Juugatsu) 10 月 31 31
11 11 月 (十一月) November 30 30
12 12 月 (Juunigatsu) 12 月 31 31

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

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

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

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

コンストラクター

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)

適用対象

こちらもご覧ください