クラスHijrahDate
- すべての実装されたインタフェース:
Serializable,Comparable<ChronoLocalDate>,ChronoLocalDate,Temporal,TemporalAccessor,TemporalAdjuster
この日付はヒジュラ暦のいずれかのバリアントを使用して処理されます。
ヒジュラ暦は、グレゴリオ暦と1年の合計日が異なり、各月の長さは、月が地球の周りを一周する期間に基づきます(連続する新月の間として)。 サポートされるバリアントについては、HijrahChronologyを参照してください。
各HijrahDateは特定のHijrahChronologyに結合されて作成されます。同じ暦が日付から計算された各HijrahDateに伝播されます。 別のヒジュラ暦のバリアントを使用するには、そのHijrahChronologyを使用して、新しいHijrahDateインスタンスを作成することができます。 または、withVariant(java.time.chrono.HijrahChronology)メソッドを使用して、新しいHijrahChronologyに変換できます。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明final ChronoLocalDateTime<HijrahDate> この日付を時間と組み合わせて、ChronoLocalDateTimeを作成します。boolean暦を含めて、この日付を別の日付と比較します。static HijrahDatefrom(TemporalAccessor temporal) 時間的オブジェクトからイスラム・ウム・アルクラ暦のHijrahDateを取得します。ヒジュラ暦体系であるこの日付の暦を取得します。getEra()この日付で使用可能な紀元を取得します。longgetLong(TemporalField field) 指定されたフィールドの値をlongとして取得します。inthashCode()この日付のハッシュ・コード。booleanヒジュラ暦体系のルールに従って、年がうるう年であるかどうかをチェックします。intこの日付によって表される月の長さを返します。intこの日付によって表される年の長さを返します。minus(long amountToSubtract, TemporalUnit unit) 指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。minus(TemporalAmount amount) 量を減算して、このオブジェクトと同じ型のオブジェクトを返します。static HijrahDatenow()デフォルトのタイムゾーンのイスラム・ウム・アルクラ暦の現在のHijrahDateを取得します。static HijrahDate指定されたクロックからイスラム・ウム・アルクラ暦の現在のHijrahDateを取得します。static HijrahDate指定されたタイムゾーンのイスラム・ウム・アルクラ暦の現在のHijrahDateを取得します。static HijrahDateof(int prolepticYear, int month, int dayOfMonth) 先発暦の年、年の月、および「月の日」フィールドからイスラム・ウム・アルクラ暦のHijrahDateを取得します。plus(long amountToAdd, TemporalUnit unit) 指定された期間を追加して、このオブジェクトと同じ型のオブジェクトを返します。plus(TemporalAmount amount) ある時間を追加して、このオブジェクトと同じ型のオブジェクトを返します。toString()この日付をStringとして出力します。until(ChronoLocalDate endDate) この日付からもう一方の日付までの期間をChronoPeriodとして計算します。longuntil(Temporal endExclusive, TemporalUnit unit) もう一方の日付までの時間量を指定された単位で計算します。with(TemporalAdjuster adjuster) 調整を行って、このオブジェクトと同じ型の調整済オブジェクトを返します。with(TemporalField field, long newValue) 指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。withVariant(HijrahChronology chronology) リクエストされた暦を使ってHijrahDateを返します。インタフェースjava.time.chrono.ChronoLocalDateで宣言されたメソッド
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isSupported, isSupported, query, toEpochDay, toString, untilインタフェースjava.time.temporal.TemporalAccessorで宣言されたメソッド
get, range
-
メソッドの詳細
-
now
public static HijrahDate now()デフォルトのタイムゾーンのイスラム・ウム・アルクラ暦の現在のHijrahDateを取得します。これは、デフォルトのタイムゾーンの
system clockを問い合わせ、現在の日付を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 戻り値:
- システムクロックとデフォルトのタイムゾーンを使用した現在の日付、null以外
-
now
public static HijrahDate now(ZoneId zone) 指定されたタイムゾーンのイスラム・ウム・アルクラ暦の現在のHijrahDateを取得します。これは
system clockを問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- パラメータ:
zone- 使用するゾーンID、null以外- 戻り値:
- システムクロックを使用した現在の日付、null以外
-
now
public static HijrahDate now(Clock clock) 指定されたクロックからイスラム・ウム・アルクラ暦の現在のHijrahDateを取得します。これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは依存性注入を使用して導入できます。
- パラメータ:
clock- 使用するクロック、null以外- 戻り値:
- 現在の日付、null以外
- スロー:
DateTimeException- 現在の日付を取得できない場合
-
of
public static HijrahDate of(int prolepticYear, int month, int dayOfMonth) 先発暦の年、年の月、および「月の日」フィールドからイスラム・ウム・アルクラ暦のHijrahDateを取得します。これは、指定されたフィールドで
HijrahDateを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。- パラメータ:
prolepticYear- ヒジュラ暦の先発暦の年month- ヒジュラ暦の年の月、1-12dayOfMonth- ヒジュラ暦の「月の日」、1-30- 戻り値:
- ヒジュラ暦体系の日付、null以外
- スロー:
DateTimeException- いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
-
from
public static HijrahDate from(TemporalAccessor temporal) 時間的オブジェクトからイスラム・ウム・アルクラ暦のHijrahDateを取得します。これは、指定された時間的オブジェクトに基づいてヒジュラ暦体系での日付を取得します。
TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがHijrahDateのインスタンスに変換します。変換では一般に、暦体系全体で標準化された
EPOCH_DAYフィールドを使用します。このメソッドは関数型インタフェース
TemporalQueryのシグネチャに一致するため、メソッド参照HijrahDate::fromを介して、問合せとして使用できます。- パラメータ:
temporal- 変換する一時オブジェクト、null以外- 戻り値:
- ヒジュラ暦体系の日付、null以外
- スロー:
DateTimeException-HijrahDateに変換できない場合
-
getChronology
public HijrahChronology getChronology()ヒジュラ暦体系であるこの日付の暦を取得します。Chronologyは使用中の暦体系を表します。ChronoFieldの紀元およびその他のフィールドは暦によって定義されます。- 定義:
- インタフェース
ChronoLocalDateのgetChronology - 戻り値:
- ヒジュラ暦、null以外
-
getEra
public HijrahEra getEra()この日付で使用可能な紀元を取得します。ヒジュラ暦体系には、
HijrahEraによって定義される1つの紀元「AH」があります。- 定義:
- インタフェース
ChronoLocalDateのgetEra - 戻り値:
- この日付に該当する紀元、null以外
-
lengthOfMonth
public int lengthOfMonth()この日付によって表される月の長さを返します。これは月の長さを日数で返します。 ヒジュラ暦体系の月の長さは29日から30日でさまざまに異なります。
- 定義:
- インタフェース
ChronoLocalDateのlengthOfMonth - 戻り値:
- 日数での月の長さ
-
lengthOfYear
public int lengthOfYear()この日付によって表される年の長さを返します。これは年の長さを日数で返します。 ヒジュラ暦体系の年は、一般にISO暦体系より短くなります。
- 定義:
- インタフェース
ChronoLocalDateのlengthOfYear - 戻り値:
- 日数での年の長さ
-
getLong
public long getLong(TemporalField field) 次のインタフェースからコピーされた説明:TemporalAccessor指定されたフィールドの値をlongとして取得します。これは、指定されたフィールドの値について日付/時間に問い合せます。 返される値はフィールドに有効な値の範囲外になることがあります。 フィールドがサポートされていないか、他の何らかの理由で、日付/時間で値を返すことができない場合、例外がスローされます。
- 定義:
- インタフェース
TemporalAccessorのgetLong - パラメータ:
field- 取得するフィールド、null以外- 戻り値:
- フィールドの値
-
with
public HijrahDate with(TemporalField field, long newValue) インタフェース:Temporalからコピーされた説明指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。これは、指定されたフィールドの値を変更して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、
LocalDateで、これは年、月、または「月の日」を設定するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、月を2月に変更することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
- 定義:
- インタフェース
ChronoLocalDateのwith - 定義:
- インタフェース
Temporalのwith - パラメータ:
field- 結果に設定するフィールド、null以外newValue- 結果のフィールドの新しい値- 戻り値:
- 指定されたフィールドが設定された同じ型のオブジェクト、null以外
-
with
public HijrahDate 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- 調整を実行できない場合。 たとえば、アジャスタでISO暦が必要な場合ArithmeticException- 数値のオーバーフローが発生した場合
-
withVariant
public HijrahDate withVariant(HijrahChronology chronology) リクエストされた暦を使ってHijrahDateを返します。年、月、日は新しく要求されたHijrahChronologyに対してチェックされます。 暦の月の長さが短い場合、月の最終日になるように日が減らされます。
- パラメータ:
chronology- 新しいHijrahChonology、null以外- 戻り値:
- 要求されたHijrahChronologyでのHijrahDate、null以外
-
plus
public HijrahDate 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 HijrahDate 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- 数値のオーバーフローが発生した場合
-
isLeapYear
public boolean isLeapYear()ヒジュラ暦体系のルールに従って、年がうるう年であるかどうかをチェックします。- 定義:
- インタフェース
ChronoLocalDateのisLeapYear - 戻り値:
- この日付がうるう年にある場合はtrue
-
plus
public HijrahDate plus(long amountToAdd, TemporalUnit unit) インタフェース:Temporalからコピーされた説明指定された期間を追加して、このオブジェクトと同じ型のオブジェクトを返します。このメソッドは、指定された期間を加算して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、
LocalDateで、これは年、月、または日の数を加算するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、1か月を加算することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
- 定義:
- インタフェース
ChronoLocalDateのplus - 定義:
- インタフェース
Temporalのplus - パラメータ:
amountToAdd- 加算する指定された単位の量、負の場合もあるunit- 加算する量の単位、nullでない- 戻り値:
- 指定された期間を加算した同じ型のオブジェクト、null以外
-
minus
public HijrahDate minus(long amountToSubtract, TemporalUnit unit) インタフェース:Temporalからコピーされた説明指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。このメソッドは、指定された期間を減算して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、
LocalDateで、これは年、月、または日の数を減算するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲットオブジェクトが3月31日を表す日付である場合、1か月を減算することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
- 定義:
- インタフェース
ChronoLocalDateのminus - 定義:
- インタフェース
Temporalのminus - パラメータ:
amountToSubtract- 減算する指定された単位の量、負の場合もあるunit- 減算する量の単位、nullでない- 戻り値:
- 指定された期間が減算された同じ型のオブジェクト、null以外
-
atTime
public final ChronoLocalDateTime<HijrahDate> atTime(LocalTime localTime) 次のインタフェースからコピーされた説明:ChronoLocalDateこの日付を時間と組み合わせて、ChronoLocalDateTimeを作成します。これは、指定された時間でこの日付から形成された
ChronoLocalDateTimeを返します。 日付と時間のすべての可能性のある組合わせが有効です。- 定義:
- インタフェース
ChronoLocalDateのatTime - パラメータ:
localTime- 使用するローカル時間、null以外- 戻り値:
- この日付と指定された時間から形成されたローカル日付/時間、null以外
-
until
public ChronoPeriod until(ChronoLocalDate endDate) 次のインタフェースからコピーされた説明:ChronoLocalDateこの日付からもう一方の日付までの期間をChronoPeriodとして計算します。これは2つの日付間の期間を計算します。 提供されたすべての暦で、年、月、日を使用して期間が計算されますが、
ChronoPeriodAPIでは、他の単位を使用して期間を表現できます。開始点と終了点は
thisと指定された日付です。 終了が開始より前である場合、結果は負になります。 マイナス記号は年、月、日のそれぞれで同じになります。計算はこの日付の暦を使用して実行されます。 必要に応じて、入力日が一致するように変換されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
ChronoLocalDateのuntil - パラメータ:
endDate- 終了日(この日を含まない)、任意の暦で可能、null以外- 戻り値:
- この日付と終了日の間の期間、null以外
-
equals
public boolean equals(Object obj) 暦を含めて、この日付を別の日付と比較します。この
HijrahDateを別の日付と比較して、日付が同じであることを確認します。HijrahDate型のオブジェクトのみが比較され、それ以外の型はfalseを返します。 2つの異なる暦の日付など、2つのTemporalAccessorインスタンスの日付を比較するには、コンパレータとしてChronoField.EPOCH_DAYを使用します。- 定義:
- インタフェース
ChronoLocalDateのequals - パラメータ:
obj- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これが他の日付と等しく、暦が等しい場合はtrue
- 関連項目:
-
hashCode
public int hashCode()この日付のハッシュ・コード。- 定義:
- インタフェース
ChronoLocalDateのhashCode - 戻り値:
- 暦と日付にのみ基づいた適切なハッシュ・コード
- 関連項目:
-
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()次のインタフェースからコピーされた説明:ChronoLocalDateこの日付をStringとして出力します。出力には、完全なローカル日付が含まれます。
- 定義:
- インタフェース
ChronoLocalDateのtoString - オーバーライド:
toString、クラスObject- 戻り値:
- 書式設定済の日付、null以外
-