- java.lang.Object
- 
- java.time.chrono.JapaneseDate
 
- 
- すべての実装されたインタフェース:
- Serializable,- Comparable<ChronoLocalDate>,- ChronoLocalDate,- Temporal,- TemporalAccessor,- TemporalAdjuster
 
 public final class JapaneseDate extends Object implements ChronoLocalDate, Serializable 和暦体系の日付。この日付は和暦を使用して、運用されます。 この暦体系は主に日本で使用されています。 和暦体系は、紀元ベースの年の番号付けを除いて、ISO暦体系と同じです。 先発暦の年は、ISO先発暦の年と等しく定義されます。 日本では明治6年からグレゴリオ暦を導入しています。 明治以降の紀元のみサポートされ、明治6年1月1日より前の日付はサポートされません。 たとえば、和暦の年Heisei 24はISO暦の年2012に対応します。 japaneseDate.get(YEAR_OF_ERA)を呼び出すと、24が返されます。japaneseDate.get(YEAR)を呼び出すと、2012が返されます。japaneseDate.get(ERA)を呼び出すと、2が返され、JapaneseChronology.ERA_HEISEIに対応します。
 これは値ベースのクラスです。 JapaneseDateのインスタンスに対する、IDに依存する操作(参照型等価(==)、IDハッシュ・コード、または同期を含む)の使用は、予測できない結果になる可能性があるため、避けてください。 比較する場合は、equalsメソッドを使用することをお薦めします。- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
 
- 
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)暦を含めて、この日付を別の日付と比較します。static JapaneseDatefrom(TemporalAccessor temporal)時間的オブジェクトからJapaneseDateを取得します。JapaneseChronologygetChronology()和暦体系であるこの日付の暦を取得します。JapaneseEragetEra()この日付で使用可能な紀元を取得します。inthashCode()この日付のハッシュ・コード。booleanisSupported(TemporalField field)指定されたフィールドがサポートされているかどうかをチェックします。intlengthOfMonth()この日付によって表される月の長さを返します。JapaneseDateminus(TemporalAmount amount)量を減算して、このオブジェクトと同じ型のオブジェクトを返します。static JapaneseDatenow()デフォルトのタイムゾーンのシステム・クロックから現在のJapaneseDateを取得します。static JapaneseDatenow(Clock clock)指定されたクロックから現在のJapaneseDateを取得します。static JapaneseDatenow(ZoneId zone)指定されたタイムゾーンのシステム・クロックから現在のJapaneseDateを取得します。static JapaneseDateof(int prolepticYear, int month, int dayOfMonth)先発暦の年、月、および月の日フィールドから、和暦体系の日付を表すJapaneseDateを取得します。static JapaneseDateof(JapaneseEra era, int yearOfEra, int month, int dayOfMonth)紀元年、月、および月の日フィールドから、和暦体系の日付を表すJapaneseDateを取得します。JapaneseDateplus(TemporalAmount amount)ある時間を追加して、このオブジェクトと同じ型のオブジェクトを返します。StringtoString()オブジェクトの文字列表現を返します。longuntil(Temporal endExclusive, TemporalUnit unit)もう一方の日付までの時間量を指定された単位で計算します。JapaneseDatewith(TemporalAdjuster adjuster)調整を行って、このオブジェクトと同じ型の調整済オブジェクトを返します。- 
インタフェース java.time.chrono.ChronoLocalDateで宣言されたメソッドadjustInto, atTime, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, lengthOfYear, minus, plus, query, toEpochDay, toString, until, until, with
 - 
インタフェース java.time.temporal.TemporalAccessorで宣言されたメソッドget, getLong, range
 
- 
 
- 
- 
- 
メソッドの詳細- 
nowpublic static JapaneseDate now() デフォルトのタイムゾーンのシステム・クロックから現在のJapaneseDateを取得します。これは、デフォルトのタイムゾーンの system clockを問い合わせ、現在の日付を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。 - 戻り値:
- システムクロックとデフォルトのタイムゾーンを使用した現在の日付、null以外
 
 - 
nowpublic static JapaneseDate now(ZoneId zone) 指定されたタイムゾーンのシステム・クロックから現在のJapaneseDateを取得します。これは system clockを問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。 - パラメータ:
- zone- 使用するゾーンID、null以外
- 戻り値:
- システムクロックを使用した現在の日付、null以外
 
 - 
nowpublic static JapaneseDate now(Clock clock) 指定されたクロックから現在のJapaneseDateを取得します。これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは依存性注入を使用して導入できます。 - パラメータ:
- clock- 使用するクロック、null以外
- 戻り値:
- 現在の日付、null以外
- 例外:
- DateTimeException- 現在の日付を取得できない場合
 
 - 
ofpublic static JapaneseDate of(JapaneseEra era, int yearOfEra, int month, int dayOfMonth) 紀元年、月、および月の日フィールドから、和暦体系の日付を表すJapaneseDateを取得します。これは、指定されたフィールドで JapaneseDateを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。和暦の月と月の日はISO暦体系のそれらと同じです。 それらは、紀元が変わってもリセットされません。 次に例を示します。 6th Jan Showa 64 = ISO 1989-01-06 7th Jan Showa 64 = ISO 1989-01-07 8th Jan Heisei 1 = ISO 1989-01-08 9th Jan Heisei 1 = ISO 1989-01-09 - パラメータ:
- era- 和暦の紀元、null以外
- yearOfEra- 和暦の紀元年
- month- 和暦の月、1-12
- dayOfMonth- 和暦の月の日、1-31
- 戻り値:
- 和暦体系の日付、null以外
- 例外:
- DateTimeException- フィールドの値が範囲外である場合、または月の日が月に対して無効である場合、または日付が和暦の紀元でない場合
 
 - 
ofpublic static JapaneseDate of(int prolepticYear, int month, int dayOfMonth) 先発暦の年、月、および月の日フィールドから、和暦体系の日付を表すJapaneseDateを取得します。これは、指定されたフィールドで JapaneseDateを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。和暦の先発暦の年、月、月の日はISO暦体系のそれらと同じです。 それらは、紀元が変わってもリセットされません。 - パラメータ:
- prolepticYear- 和暦の先発暦の年
- month- 和暦の月、1-12
- dayOfMonth- 和暦の月の日、1-31
- 戻り値:
- 和暦体系の日付、null以外
- 例外:
- DateTimeException- いずれかのフィールドの値が範囲外である場合、または月の日が年の月に対して無効である場合
 
 - 
frompublic static JapaneseDate from(TemporalAccessor temporal) 時間的オブジェクトからJapaneseDateを取得します。これは、指定された時間的オブジェクトに基づいて和暦体系での日付を取得します。 TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがJapaneseDateのインスタンスに変換します。変換では一般に、暦体系全体で標準化された EPOCH_DAYフィールドを使用します。このメソッドは関数型インタフェース TemporalQueryのシグネチャに一致するため、メソッド参照JapaneseDate::fromを介して、問合せとして使用できます。- パラメータ:
- temporal- 変換する一時オブジェクト、null以外
- 戻り値:
- 和暦体系の日付、null以外
- 例外:
- DateTimeException-- JapaneseDateに変換できない場合
- 関連項目:
- Chronology.date(TemporalAccessor)
 
 - 
getChronologypublic JapaneseChronology getChronology() 和暦体系であるこの日付の暦を取得します。Chronologyは使用中の暦体系を表します。ChronoFieldの紀元およびその他のフィールドは暦によって定義されます。- 定義:
- インタフェースChronoLocalDateのgetChronology
- 戻り値:
- 和暦の暦、null以外
 
 - 
getErapublic JapaneseEra getEra() この日付で使用可能な紀元を取得します。和暦体系には、 JapaneseEraによって定義される複数の紀元があります。- 定義:
- インタフェースChronoLocalDateのgetEra
- 戻り値:
- この日付に該当する紀元、null以外
 
 - 
lengthOfMonthpublic int lengthOfMonth() この日付によって表される月の長さを返します。これは月の長さを日数で返します。 月の長さはISO暦体系のそれらに一致します。 - 定義:
- インタフェースChronoLocalDateのlengthOfMonth
- 戻り値:
- 日数での月の長さ
 
 - 
isSupportedpublic boolean isSupported(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。これは、指定されたフィールドに対して、この日付を問合せできるかどうかをチェックします。 falseの場合、 rangeメソッドとgetメソッドを呼び出すと例外がスローされます。フィールドが ChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは、次のとおりです。- DAY_OF_WEEK
- DAY_OF_MONTH
- DAY_OF_YEAR
- EPOCH_DAY
- MONTH_OF_YEAR
- PROLEPTIC_MONTH
- YEAR_OF_ERA
- YEAR
- ERA
 ChronoFieldインスタンスはfalseを返します。フィールドが ChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェースChronoLocalDateのisSupported
- 定義:
- インタフェースTemporalAccessorのisSupported
- パラメータ:
- field- チェックするフィールド、nullはfalseを返す
- 戻り値:
- フィールドがこの日付でサポートされている場合はtrue、そうでない場合はfalse
 
 - 
withpublic JapaneseDate with(TemporalAdjuster adjuster) 調整を行って、このオブジェクトと同じ型の調整済オブジェクトを返します。これは、指定されたアジャスタのルールに従って、この日付/時間を調整します。 単純なアジャスタは、年フィールドなどの1つのフィールドだけを設定するなどです。 複雑なアジャスタは、日付を月の最後の日に設定するなどです。 一般的な調整の選択は、 TemporalAdjustersで指定します。 これらには、月の最後の日や次の水曜日を見つけることが含まれます。 アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。このメソッドを使用する方法と理由を示すいくつかのサンプル・コード: date = date.with(Month.JULY); // most key classes implement TemporalAdjuster date = date.with(lastDayOfMonth()); // static import from Adjusters date = date.with(next(WEDNESDAY)); // static import from Adjusters and DayOfWeek - 定義:
- インタフェースChronoLocalDateのwith
- 定義:
- インタフェースTemporalのwith
- パラメータ:
- adjuster- 使用するアジャスタ、null以外
- 戻り値:
- 指定された調整を行った同じ型のオブジェクト、null以外
- 例外:
- DateTimeException- 調整を実行できない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
 - 
pluspublic JapaneseDate plus(TemporalAmount amount) ある時間を追加して、このオブジェクトと同じ型のオブジェクトを返します。これは、このtemporal (一時)を調整し、指定された量のルールに従って加算します。 この量は通常 Periodですが、Durationなど、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。このメソッドを使用する方法と理由を示すいくつかのサンプル・コード: date = date.plus(period); // add a Period instance date = date.plus(duration); // add a Duration instance date = date.plus(workingDays(6)); // example user-written workingDays method plusの後にminusを呼び出しても、同じ日付/時間が返されることは保証されません。- 定義:
- インタフェースChronoLocalDateのplus
- 定義:
- インタフェースTemporalのplus
- パラメータ:
- amount- 追加する量、null以外
- 戻り値:
- 指定された調整を行った同じ型のオブジェクト、null以外
- 例外:
- DateTimeException- 加算できない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
 - 
minuspublic JapaneseDate minus(TemporalAmount amount) 量を減算して、このオブジェクトと同じ型のオブジェクトを返します。これは、このtemporal (一時)を調整し、指定された量のルールに従って減算します。 この量は通常 Periodですが、Durationなど、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。このメソッドを使用する方法と理由を示すいくつかのサンプル・コード: date = date.minus(period); // subtract a Period instance date = date.minus(duration); // subtract a Duration instance date = date.minus(workingDays(6)); // example user-written workingDays method plusの後にminusを呼び出しても、同じ日付/時間が返されることは保証されません。- 定義:
- インタフェースChronoLocalDateのminus
- 定義:
- インタフェースTemporalのminus
- パラメータ:
- amount- 減算する量、null以外
- 戻り値:
- 指定された調整を行った同じ型のオブジェクト、null以外
- 例外:
- DateTimeException- 減算ができない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
 - 
equalspublic boolean equals(Object obj) 暦を含めて、この日付を別の日付と比較します。この JapaneseDateを別の日付と比較して、日付が同じであることを確認します。JapaneseDate型のオブジェクトのみが比較され、それ以外の型はfalseを返します。 2つの異なる暦の日付など、2つのTemporalAccessorインスタンスの日付を比較するには、コンパレータとしてChronoField.EPOCH_DAYを使用します。- 定義:
- インタフェースChronoLocalDateのequals
- パラメータ:
- obj- チェックするオブジェクト、nullはfalseを返す
- 戻り値:
- これが他方の日付と等しい場合はtrue
- 関連項目:
- Object.hashCode()、- HashMap
 
 - 
hashCodepublic int hashCode() この日付のハッシュ・コード。- 定義:
- インタフェースChronoLocalDateのhashCode
- 戻り値:
- 暦と日付にのみ基づいた適切なハッシュ・コード
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 - 
untilpublic long until(Temporal endExclusive, TemporalUnit unit) 次のインタフェースからコピーされた説明:ChronoLocalDateもう一方の日付までの時間量を指定された単位で計算します。これは、1つの TemporalUnitの形で2つのChronoLocalDateオブジェクト間の時間の量を計算します。 開始点と終了点はthisと指定された日付です。 終了が開始より前である場合、結果は負になります。 このメソッドに渡されたTemporalはChronology.date(TemporalAccessor)を使用してChronoLocalDateに変換されます。 計算では、2つの日付間の完全な単位の数を表す整数を返します。 たとえば、2つの日付間の日数での量は、startDate.until(endDate, DAYS)を使用して計算できます。このメソッドを使用する等価な方法が2つあります。 1つ目はこのメソッドを呼び出すことです。 2つ目は TemporalUnit.between(Temporal, Temporal)を使用することです。// these two lines are equivalent amount = start.until(end, MONTHS); amount = MONTHS.between(start, end); この選択は、コードが読みやすくなるのはどちらかに基づいて行ってください。計算は ChronoUnitのこのメソッドに実装します。 単位DAYS、WEEKS、MONTHS、YEARS、DECADES、CENTURIES、MILLENNIA、およびERASはすべての実装でサポートしてください。 その他のChronoUnit値は例外をスローします。単位が ChronoUnitでない場合、このメソッドの結果は、thisを1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)を呼び出すことによって取得します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - 定義:
- インタフェースChronoLocalDateのuntil
- 定義:
- インタフェースTemporalのuntil
- パラメータ:
- endExclusive- 終了日、排他的、同じ暦で- ChronoLocalDateに変換される、null以外
- unit- 量を測定する単位、null以外
- 戻り値:
- この日付と終了日の間の時間の量
 
 - 
toStringpublic String toString() 次のクラスからコピーされた説明:Objectオブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトをテキストで表す文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。クラス ObjectのtoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字@、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。getClass().getName() + '@' + Integer.toHexString(hashCode()) - 定義:
- インタフェースChronoLocalDateのtoString
- オーバーライド:
- toString、クラス:- Object
- 戻り値:
- このオブジェクトの文字列表現
 
 
- 
 
-