- 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
- 関連項目:
- 直列化された形式
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 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
-
-
-
-
メソッドの詳細
-
now
public static JapaneseDate now()
デフォルトのタイムゾーンのシステム・クロックから現在のJapaneseDateを取得します。これは、デフォルトのタイムゾーンの
system clockを問い合わせ、現在の日付を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 戻り値:
- システムクロックとデフォルトのタイムゾーンを使用した現在の日付、null以外
-
now
public static JapaneseDate now(ZoneId zone)
指定されたタイムゾーンのシステム・クロックから現在のJapaneseDateを取得します。これは
system clockを問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- パラメータ:
zone- 使用するゾーンID、null以外- 戻り値:
- システムクロックを使用した現在の日付、null以外
-
now
public static JapaneseDate now(Clock clock)
指定されたクロックから現在のJapaneseDateを取得します。これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは依存性注入を使用して導入できます。
- パラメータ:
clock- 使用するクロック、null以外- 戻り値:
- 現在の日付、null以外
- 例外:
DateTimeException- 現在の日付を取得できない場合
-
of
public 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-12dayOfMonth- 和暦の「月の日」、1-31- 戻り値:
- 和暦体系の日付、null以外
- 例外:
DateTimeException- フィールドの値が範囲外である場合、または「月の日」が月に対して無効である場合、または日付が和暦の紀元でない場合
-
of
public static JapaneseDate of(int prolepticYear, int month, int dayOfMonth)
先発暦の年、月、および「月の日」フィールドから、和暦体系の日付を表すJapaneseDateを取得します。これは、指定されたフィールドで
JapaneseDateを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。和暦の先発暦の年、月、「月の日」はISO暦体系のそれらと同じです。 それらは、紀元が変わってもリセットされません。
- パラメータ:
prolepticYear- 和暦の先発暦の年month- 和暦の月、1-12dayOfMonth- 和暦の「月の日」、1-31- 戻り値:
- 和暦体系の日付、null以外
- 例外:
DateTimeException- いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
-
from
public static JapaneseDate from(TemporalAccessor temporal)
時間的オブジェクトからJapaneseDateを取得します。これは、指定された時間的オブジェクトに基づいて和暦体系での日付を取得します。
TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがJapaneseDateのインスタンスに変換します。変換では一般に、暦体系全体で標準化された
EPOCH_DAYフィールドを使用します。このメソッドは関数型インタフェース
TemporalQueryのシグネチャに一致するため、メソッド参照JapaneseDate::fromを介して、問合せとして使用できます。- パラメータ:
temporal- 変換する一時オブジェクト、null以外- 戻り値:
- 和暦体系の日付、null以外
- 例外:
DateTimeException-JapaneseDateに変換できない場合- 関連項目:
Chronology.date(TemporalAccessor)
-
getChronology
public JapaneseChronology getChronology()
和暦体系であるこの日付の暦を取得します。Chronologyは使用中の暦体系を表します。ChronoFieldの紀元およびその他のフィールドは暦によって定義されます。- 定義:
- インタフェース
ChronoLocalDateのgetChronology - 戻り値:
- 和暦の暦、null以外
-
getEra
public JapaneseEra getEra()
この日付で使用可能な紀元を取得します。和暦体系には、
JapaneseEraによって定義される複数の紀元があります。- 定義:
- インタフェース
ChronoLocalDateのgetEra - 戻り値:
- この日付に該当する紀元、null以外
-
lengthOfMonth
public int lengthOfMonth()
この日付によって表される月の長さを返します。これは月の長さを日数で返します。 月の長さはISO暦体系のそれらに一致します。
- 定義:
- インタフェース
ChronoLocalDateのlengthOfMonth - 戻り値:
- 日数での月の長さ
-
isSupported
public boolean isSupported(TemporalField field)
指定されたフィールドがサポートされているかどうかをチェックします。これは、指定されたフィールドに対して、この日付を問合せできるかどうかをチェックします。 falseの場合、
rangeメソッドとgetメソッドを呼び出すと例外がスローされます。フィールドが
ChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは、次のとおりです。DAY_OF_WEEKDAY_OF_MONTHDAY_OF_YEAREPOCH_DAYMONTH_OF_YEARPROLEPTIC_MONTHYEAR_OF_ERAYEARERA
ChronoFieldインスタンスはfalseを返します。フィールドが
ChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェース
ChronoLocalDateのisSupported - 定義:
- インタフェース
TemporalAccessorのisSupported - パラメータ:
field- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこの日付でサポートされている場合はtrue、そうでない場合はfalse
-
with
public 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- 数値のオーバーフローが発生した場合
-
plus
public 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- 数値のオーバーフローが発生した場合
-
minus
public 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- 数値のオーバーフローが発生した場合
-
equals
public boolean equals(Object obj)
暦を含めて、この日付を別の日付と比較します。この
JapaneseDateを別の日付と比較して、日付が同じであることを確認します。JapaneseDate型のオブジェクトのみが比較され、それ以外の型はfalseを返します。 2つの異なる暦の日付など、2つのTemporalAccessorインスタンスの日付を比較するには、コンパレータとしてChronoField.EPOCH_DAYを使用します。- 定義:
- インタフェース
ChronoLocalDateのequals - パラメータ:
obj- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これが他方の日付と等しい場合はtrue
- 関連項目:
Object.hashCode()、HashMap
-
hashCode
public int hashCode()
この日付のハッシュ・コード。- 定義:
- インタフェース
ChronoLocalDateのhashCode - 戻り値:
- 暦と日付にのみ基づいた適切なハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
until
public 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以外- 戻り値:
- この日付と終了日の間の時間の量
-
toString
public String toString()
次のクラスからコピーされた説明:Objectオブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお薦めします。クラス
ObjectのtoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。getClass().getName() + '@' + Integer.toHexString(hashCode())
- 定義:
- インタフェース
ChronoLocalDateのtoString - オーバーライド:
toString、クラスObject- 戻り値:
- このオブジェクトの文字列表現
-
-