public final class HijrahDate extends Object implements ChronoLocalDate, Serializable
この日付はヒジュラ暦のいずれかのバリアントを使用して処理されます。
ヒジュラ暦は、グレゴリオ暦と1年の合計日が異なり、各月の長さは、月が地球の周りを一周する期間に基づきます(連続する新月の間として)。サポートされるバリアントについては、HijrahChronologyを参照してください。
各HijrahDateは特定のHijrahChronologyに結合されて作成されます。同じ暦が日付から計算された各HijrahDateに伝播されます。別のヒジュラ暦のバリアントを使用するには、そのHijrahChronologyを使用して、新しいHijrahDateインスタンスを作成することができます。または、withVariant(java.time.chrono.HijrahChronology)メソッドを使用して、新しいHijrahChronologyに変換できます。
これは値ベースのクラスです。HijrahDateのインスタンスに対する、IDに依存した操作(参照型等価(==)、IDハッシュ・コード、または同期を含む)の使用は、予測できない結果になる可能性があるため、避けてください。比較する場合は、equalsメソッドを使用することをお薦めします。
| 修飾子と型 | メソッドと説明 |
|---|---|
ChronoLocalDateTime<HijrahDate> |
atTime(LocalTime localTime)
この日付を時間と組み合わせて、
ChronoLocalDateTimeを作成します。 |
boolean |
equals(Object obj)
暦を含めて、この日付を別の日付と比較します。
|
static HijrahDate |
from(TemporalAccessor temporal)
時間的オブジェクトからイスラム・ウム・アルクラ暦の
HijrahDateを取得します。 |
HijrahChronology |
getChronology()
ヒジュラ暦体系であるこの日付の暦を取得します。
|
HijrahEra |
getEra()
この日付で使用可能な紀元を取得します。
|
long |
getLong(TemporalField field)
指定されたフィールドの値を
longとして取得します。 |
int |
hashCode()
この日付のハッシュ・コード。
|
boolean |
isLeapYear()
ヒジュラ暦体系のルールに従って、年がうるう年であるかどうかをチェックします。
|
int |
lengthOfMonth()
この日付によって表される月の長さを返します。
|
int |
lengthOfYear()
この日付によって表される年の長さを返します。
|
HijrahDate |
minus(long amountToSubtract, TemporalUnit unit)
指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。
|
HijrahDate |
minus(TemporalAmount amount)
量を減算して、このオブジェクトと同じ型のオブジェクトを返します。
|
static HijrahDate |
now()
デフォルトのタイムゾーンのイスラム・ウム・アルクラ暦の現在の
HijrahDateを取得します。 |
static HijrahDate |
now(Clock clock)
指定されたクロックからイスラム・ウム・アルクラ暦の現在の
HijrahDateを取得します。 |
static HijrahDate |
now(ZoneId zone)
指定されたタイムゾーンのイスラム・ウム・アルクラ暦の現在の
HijrahDateを取得します。 |
static HijrahDate |
of(int prolepticYear, int month, int dayOfMonth)
先発グレゴリオ暦の年、年の月、および「月の日」フィールドからイスラム・ウム・アルクラ暦の
HijrahDateを取得します。 |
HijrahDate |
plus(long amountToAdd, TemporalUnit unit)
このオブジェクトと同じ型のオブジェクトに指定された期間を追加したものを返します。
|
HijrahDate |
plus(TemporalAmount amount)
このオブジェクトと同じ型のオブジェクトにある時間を追加したものを返します。
|
ValueRange |
range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。
|
long |
toEpochDay()
この日付をエポック日に変換します。
|
String |
toString()
オブジェクトの文字列表現を返します。
|
ChronoPeriod |
until(ChronoLocalDate endDate)
この日付からもう一方の日付までの期間を
ChronoPeriodとして計算します。 |
long |
until(Temporal endExclusive, TemporalUnit unit)
もう一方の日付までの時間量を指定された単位で計算します。
|
HijrahDate |
with(TemporalAdjuster adjuster)
調整を行って、このオブジェクトと同じ型の調整済のオブジェクトを返します。
|
HijrahDate |
with(TemporalField field, long newValue)
指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。
|
HijrahDate |
withVariant(HijrahChronology chronology)
リクエストされた暦を使って
HijrahDateを返します。 |
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isSupported, isSupported, query, timeLineOrder, toString, untilgetpublic static HijrahDate now()
HijrahDateを取得します。
これは、デフォルトのタイムゾーンのsystem clockを問い合わせ、現在の日付を取得します。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
public static HijrahDate now(ZoneId zone)
HijrahDateを取得します。
これはsystem clockを問い合わせて、現在の日付を取得します。タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
zone - 使用するゾーンID、null以外public static HijrahDate now(Clock clock)
HijrahDateを取得します。
これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。このメソッドを使用すると、テストに代替のクロックを使用できます。代替のクロックは依存性注入を使用して導入できます。
clock - 使用するクロック、null以外DateTimeException - 現在の日付を取得できない場合public static HijrahDate of(int prolepticYear, int month, int dayOfMonth)
HijrahDateを取得します。
これは、指定されたフィールドでHijrahDateを返します。日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。
prolepticYear - ヒジュラ暦の先発グレゴリオ暦の年month - ヒジュラ暦の年の月、1-12dayOfMonth - ヒジュラ暦の「月の日」、1-30DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合public static HijrahDate from(TemporalAccessor temporal)
HijrahDateを取得します。
これは、指定された時間的オブジェクトに基づいてヒジュラ暦体系での日付を取得します。TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがHijrahDateのインスタンスに変換します。
変換では一般に、暦体系全体で標準化されたEPOCH_DAYフィールドを使用します。
このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照HijrahDate::fromを介して、問合せとして使用できます。
ChronoLocalDateのfromtemporal - 変換する一時オブジェクト、null以外DateTimeException - HijrahDateに変換できない場合Chronology.date(TemporalAccessor)public HijrahChronology getChronology()
Chronologyは使用中の暦体系を表します。ChronoFieldの紀元およびその他のフィールドは暦によって定義されます。
ChronoLocalDateのgetChronologypublic HijrahEra getEra()
ヒジュラ暦体系には、HijrahEraによって定義される1つの紀元「AH」があります。
ChronoLocalDateのgetErapublic int lengthOfMonth()
これは月の長さを日数で返します。ヒジュラ暦体系の月の長さは29日から30日でさまざまに異なります。
ChronoLocalDateのlengthOfMonthpublic int lengthOfYear()
これは年の長さを日数で返します。ヒジュラ暦体系の年は、一般にISO暦体系より短くなります。
ChronoLocalDateのlengthOfYearpublic ValueRange range(TemporalField field)
TemporalAccessor
すべてのフィールドはlong整数で表現できます。このメソッドは、その値の有効範囲を記述するオブジェクトを返します。この時間的オブジェクトの値は、返される範囲の精度を向上するために使われます。フィールドがサポートされていないか、他の何らかの理由で、日付/時間で範囲を返すことができない場合、例外がスローされます。
結果は有効な最小値と最大値を記述しているだけなので、それらを深く解釈しすぎないことが重要です。たとえば、範囲内の値であっても、フィールドに対して無効な場合があります。
TemporalAccessorのrangefield - 範囲を問い合わせるフィールド、null以外public long getLong(TemporalField field)
TemporalAccessorlongとして取得します。
これは、指定されたフィールドの値の日付/時間を問い合わせます。返される値はフィールドに有効な値の範囲外になることがあります。フィールドがサポートされていないか、他の何らかの理由で、日付/時間で値を返すことができない場合、例外がスローされます。
TemporalAccessorのgetLongfield - 取得するフィールド、null以外public HijrahDate with(TemporalField field, long newValue)
ChronoLocalDate
これは、指定されたフィールドの値を変更して、このオブジェクトに基づいて新しいオブジェクトを返します。たとえば、LocalDateで、これは年、月、または「月の日」を設定するために使用できます。返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。
フィールドの変更が完全には定義されていない場合もあります。たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、月を2月に変更することは不明な場合があります。このようなケースでは、フィールドは結果の解決を担当します。通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
ChronoLocalDateのwithTemporalのwithfield - 結果に設定するフィールド、null以外newValue - 結果のフィールドの新しい値public HijrahDate with(TemporalAdjuster adjuster)
これは、指定されたアジャスタのルールに従って、この日付/時間を調整します。単純なアジャスタは、年フィールドなどの1つのフィールドだけを設定するなどです。複雑なアジャスタは、日付を月の最後の日に設定するなどです。一般的な調整の選択は、TemporalAdjusterで指定します。これらには、「月の最後の日」や「次の水曜日」を見つけることが含まれます。アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。
このメソッドを使用する方法と理由を示すいくつかのサンプル・コード:
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のwithTemporalのwithadjuster - 使用するアジャスタ、null以外DateTimeException - 調整を実行できない場合。たとえば、アジャスタでISO暦が必要な場合ArithmeticException - 数値のオーバーフローが発生した場合public HijrahDate withVariant(HijrahChronology chronology)
HijrahDateを返します。
年、月、日は新しく要求されたHijrahChronologyに対してチェックされます。暦の月の長さが短い場合、月の最終日になるように日が減らされます。
chronology - 新しいHijrahChonology、null以外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のplusTemporalのplusamount - 追加する量、null以外DateTimeException - 加算できない場合ArithmeticException - 数値のオーバーフローが発生した場合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のminusTemporalのminusamount - 減算する量、null以外DateTimeException - 減算ができない場合ArithmeticException - 数値のオーバーフローが発生した場合public long toEpochDay()
ChronoLocalDate
Epoch Day countは日の単純な増分カウントで、日0は1970-01-01 (ISO)です。この定義は、すべての暦で同じであり、変換が可能です。
このデフォルトの実装は、EPOCH_DAYフィールドを問い合わせます。
ChronoLocalDateのtoEpochDaypublic boolean isLeapYear()
ChronoLocalDateのisLeapYearpublic HijrahDate plus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate
このメソッドは、指定された期間を加算して、このオブジェクトに基づいて新しいオブジェクトを返します。たとえば、LocalDateで、これは年、月、または日の数を加算するために使用できます。返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。
フィールドの変更が完全には定義されていない場合もあります。たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、1か月を加算することは不明な場合があります。このようなケースでは、フィールドは結果の解決を担当します。通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
ChronoLocalDateのplusTemporalのplusamountToAdd - 加算する指定された単位の量、負の場合もあるunit - 追加する期間の単位、null以外public HijrahDate minus(long amountToSubtract, TemporalUnit unit)
ChronoLocalDate
このメソッドは、指定された期間を減算して、このオブジェクトに基づいて新しいオブジェクトを返します。たとえば、LocalDateで、これは年、月、または日の数を減算するために使用できます。返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。
フィールドの変更が完全には定義されていない場合もあります。たとえば、ターゲットオブジェクトが3月31日を表す日付である場合、1か月を減算することは不明な場合があります。このようなケースでは、フィールドは結果の解決を担当します。通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
ChronoLocalDateのminusTemporalのminusamountToSubtract - 減算する指定された単位の量、負の場合もあるunit - 減算する期間の単位、null以外public final ChronoLocalDateTime<HijrahDate> atTime(LocalTime localTime)
ChronoLocalDateChronoLocalDateTimeを作成します。
これは、指定された時間でこの日付から形成されたChronoLocalDateTimeを返します。日付と時間のすべての可能性のある組合わせが有効です。
ChronoLocalDateのatTimelocalTime - 使用するローカル時間、null以外public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDateChronoPeriodとして計算します。
これは2つの日付間の期間を計算します。提供されたすべての暦で、年、月、日を使用して期間が計算されますが、ChronoPeriod APIでは、他の単位を使用して期間を表現できます。
開始点と終了点はthisと指定された日付です。終了が開始より前である場合、結果は負になります。マイナス記号は年、月、日のそれぞれで同じになります。
計算はこの日付の暦を使用して実行されます。必要に応じて、入力日が一致するように変換されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
ChronoLocalDateのuntilendDate - 終了日(この日を含まない)、任意の暦で可能、null以外public boolean equals(Object obj)
このHijrahDateを別の日付と比較して、日付が同じであることを確認します。
HijrahDate型のオブジェクトのみが比較され、それ以外の型はfalseを返します。2つの異なる暦の日付など、2つのTemporalAccessorインスタンスの日付を比較するには、コンパレータとしてChronoField.EPOCH_DAYを使用します。
ChronoLocalDateのequalsobj - チェックするオブジェクト、nullはfalseを返すObject.hashCode()、HashMappublic int hashCode()
ChronoLocalDateのhashCodeObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)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のuntilTemporalのuntilendExclusive - 終了日、排他的、同じ暦でChronoLocalDateに変換される、null以外unit - 量を測定する単位、null以外public String toString()
ObjecttoStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。この結果は、人間が読める簡潔で有益な情報であるべきです。すべてのサブクラスで、このメソッドをオーバーライドすることをお薦めします。
クラスObjectのtoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。つまり、このメソッドは次の値と等しい文字列を返します。
getClass().getName() + '@' + Integer.toHexString(hashCode())
ChronoLocalDateのtoStringtoString、クラス: Object バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.