クラスThaiBuddhistDate

java.lang.Object
java.time.chrono.ThaiBuddhistDate
すべての実装されたインタフェース:
Serializable, Comparable<ChronoLocalDate>, ChronoLocalDate, Temporal, TemporalAccessor, TemporalAdjuster

public final class ThaiBuddhistDate extends Object implements ChronoLocalDate, Serializable
タイ仏暦体系の日付。

この日付はタイ仏暦を使用して、運用されます。 この暦体系は主にタイで使用されています。 日付は2484-01-01 (仏)1941-01-01 (ISO)になるように調整されます。

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。

実装要件:
このクラスは不変でスレッドセーフです。
導入されたバージョン:
1.8
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    atTime(LocalTime localTime)
    この日付を時間と組み合わせて、ChronoLocalDateTimeを作成します。
    boolean
    暦を含めて、この日付を別の日付と比較します。
    時間的オブジェクトからThaiBuddhistDateを取得します。
    タイ仏暦体系であるこの日付の暦を取得します。
    この日付で使用可能な紀元を取得します。
    long
    指定されたフィールドの値をlongとして取得します。
    int
    この日付のハッシュ・コード。
    int
    この日付によって表される月の長さを返します。
    minus(long amountToSubtract, TemporalUnit unit)
    指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。
    量を減算して、このオブジェクトと同じ型のオブジェクトを返します。
    now()
    デフォルトのタイムゾーンのシステム・クロックから現在のThaiBuddhistDateを取得します。
    now(Clock clock)
    指定されたクロックから現在のThaiBuddhistDateを取得します。
    now(ZoneId zone)
    指定されたタイムゾーンのシステム・クロックから現在のThaiBuddhistDateを取得します。
    of(int prolepticYear, int month, int dayOfMonth)
    先発暦の年、月、および「月の日」フィールドから、タイ仏暦体系の日付を表すThaiBuddhistDateを取得します。
    plus(long amountToAdd, TemporalUnit unit)
    指定された期間を追加して、このオブジェクトと同じ型のオブジェクトを返します。
    ある時間を追加して、このオブジェクトと同じ型のオブジェクトを返します。
    この日付をStringとして出力します。
    この日付からもう一方の日付までの期間をChronoPeriodとして計算します。
    long
    until(Temporal endExclusive, TemporalUnit unit)
    もう一方の日付までの時間量を指定された単位で計算します。
    調整を行って、このオブジェクトと同じ型の調整済オブジェクトを返します。
    with(TemporalField field, long newValue)
    指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。

    インタフェースで宣言されたメソッド ChronoLocalDate

    adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay
    修飾子と型
    メソッド
    説明
    default Temporal
    adjustInto(Temporal temporal)
    指定された一時オブジェクトをこのオブジェクトと同じ日付になるように調整します。
    default int
    暦を含めて、この日付を別の日付と比較します。
    default String
    指定されたフォーマッタを使用してこの日付を書式設定します。
    default boolean
    暦を無視して、この日付が、指定された日付の後であるかどうかをチェックします。
    default boolean
    暦を無視して、この日付が、指定された日付の前であるかどうかをチェックします。
    default boolean
    暦を無視して、この日付が、指定された日付と等しいかどうかをチェックします。
    default boolean
    暦体系によって定義されているとおりに、年がうるう年であるかどうかをチェックします。
    default boolean
    指定されたフィールドがサポートされているかどうかをチェックします。
    default boolean
    指定された単位がサポートされているかどうかをチェックします。
    default int
    暦体系によって定義されているとおりに、この日付によって表されている年の長さを返します。
    default <R> R
    query(TemporalQuery<R> query)
    指定された問合せを使用してこの日付を問い合わせます。
    default long
    この日付をエポック日に変換します。

    インタフェースで宣言されたメソッド TemporalAccessor

    get, range
    修飾子と型
    メソッド
    説明
    default int
    指定されたフィールドの値をintとして取得します。
    default ValueRange
    指定されたフィールドの有効な値の範囲を取得します。
  • メソッドの詳細

    • now

      public static ThaiBuddhistDate now()
      デフォルトのタイムゾーンのシステム・クロックから現在のThaiBuddhistDateを取得します。

      これは、デフォルトのタイムゾーンのsystem clockを問い合わせ、現在の日付を取得します。

      このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。

      戻り値:
      システムクロックとデフォルトのタイムゾーンを使用した現在の日付、null以外
    • now

      public static ThaiBuddhistDate now(ZoneId zone)
      指定されたタイムゾーンのシステム・クロックから現在のThaiBuddhistDateを取得します。

      これはsystem clockを問い合わせて、現在の日付を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。

      このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。

      パラメータ:
      zone - 使用するゾーンID、null以外
      戻り値:
      システムクロックを使用した現在の日付、null以外
    • now

      public static ThaiBuddhistDate now(Clock clock)
      指定されたクロックから現在のThaiBuddhistDateを取得します。

      これは指定されたクロックを問い合わせ、現在の日付(今日)を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは依存性注入を使用して導入できます。

      パラメータ:
      clock - 使用するクロック、null以外
      戻り値:
      現在の日付、null以外
      スロー:
      DateTimeException - 現在の日付を取得できない場合
    • of

      public static ThaiBuddhistDate of(int prolepticYear, int month, int dayOfMonth)
      先発暦の年、月、および「月の日」フィールドから、タイ仏暦体系の日付を表すThaiBuddhistDateを取得します。

      これは、指定されたフィールドでThaiBuddhistDateを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。

      パラメータ:
      prolepticYear - 仏暦の先発暦の年
      month - 仏暦の月、1-12
      dayOfMonth - 仏暦の「月の日」、1-31
      戻り値:
      タイ仏暦体系の日付、null以外
      スロー:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • from

      public static ThaiBuddhistDate from(TemporalAccessor temporal)
      時間的オブジェクトからThaiBuddhistDateを取得します。

      これは、指定された時間的オブジェクトに基づいてタイ仏暦体系での日付を取得します。 TemporalAccessorは任意の日付と時間情報のセットを表し、このファクトリがThaiBuddhistDateのインスタンスに変換します。

      変換では一般に、暦体系全体で標準化されたEPOCH_DAYフィールドを使用します。

      このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照ThaiBuddhistDate::fromを介して、問合せとして使用できます。

      パラメータ:
      temporal - 変換する一時オブジェクト、null以外
      戻り値:
      タイ仏暦体系の日付、null以外
      スロー:
      DateTimeException - ThaiBuddhistDateに変換できない場合
    • getChronology

      public ThaiBuddhistChronology getChronology()
      タイ仏暦体系であるこの日付の暦を取得します。

      Chronologyは使用中の暦体系を表します。 ChronoFieldの紀元およびその他のフィールドは暦によって定義されます。

      定義:
      インタフェースChronoLocalDategetChronology
      戻り値:
      タイ仏暦の暦、null以外
    • getEra

      public ThaiBuddhistEra getEra()
      この日付で使用可能な紀元を取得します。

      タイ仏暦体系には、ThaiBuddhistEraによって定義される「BE」と「BEFORE_BE」の2つの紀元があります。

      定義:
      インタフェースChronoLocalDategetEra
      戻り値:
      この日付に該当する紀元、null以外
    • lengthOfMonth

      public int lengthOfMonth()
      この日付によって表される月の長さを返します。

      これは月の長さを日数で返します。 月の長さはISO暦体系のそれらに一致します。

      定義:
      インタフェースChronoLocalDatelengthOfMonth
      戻り値:
      日数での月の長さ
    • getLong

      public long getLong(TemporalField field)
      次のインタフェースからコピーされた説明: TemporalAccessor
      指定されたフィールドの値をlongとして取得します。

      これは、指定されたフィールドの値について日付/時間に問い合せます。 返される値はフィールドに有効な値の範囲外になることがあります。 フィールドがサポートされていないか、他の何らかの理由で、日付/時間で値を返すことができない場合、例外がスローされます。

      定義:
      インタフェースTemporalAccessorgetLong
      パラメータ:
      field - 取得するフィールド、null以外
      戻り値:
      フィールドの値
    • with

      public ThaiBuddhistDate with(TemporalField field, long newValue)
      インタフェース: Temporalからコピーされた説明
      指定されたフィールドを変更して、このオブジェクトと同じ型のオブジェクトを返します。

      これは、指定されたフィールドの値を変更して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、LocalDateで、これは年、月、または「月の日」を設定するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。

      フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、月を2月に変更することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

      定義:
      インタフェースChronoLocalDatewith
      定義:
      インタフェースTemporalwith
      パラメータ:
      field - 結果に設定するフィールド、null以外
      newValue - 結果のフィールドの新しい値
      戻り値:
      指定されたフィールドが設定された同じ型のオブジェクト、null以外
    • with

      public ThaiBuddhistDate 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
      

      定義:
      インタフェースChronoLocalDatewith
      定義:
      インタフェースTemporalwith
      パラメータ:
      adjuster - 使用するアジャスタ、null以外
      戻り値:
      指定された調整を行った同じ型のオブジェクト、null以外
      スロー:
      DateTimeException - 調整を実行できない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • plus

      public ThaiBuddhistDate 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を呼び出しても、同じ日付/時間が返されることは保証されません。

      定義:
      インタフェースChronoLocalDateplus
      定義:
      インタフェースTemporalplus
      パラメータ:
      amount - 追加する量、null以外
      戻り値:
      指定された調整を行った同じ型のオブジェクト、null以外
      スロー:
      DateTimeException - 加算できない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • minus

      public ThaiBuddhistDate 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を呼び出しても、同じ日付/時間が返されることは保証されません。

      定義:
      インタフェースChronoLocalDateminus
      定義:
      インタフェースTemporalminus
      パラメータ:
      amount - 減算する量、null以外
      戻り値:
      指定された調整を行った同じ型のオブジェクト、null以外
      スロー:
      DateTimeException - 減算ができない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • plus

      public ThaiBuddhistDate plus(long amountToAdd, TemporalUnit unit)
      インタフェース: Temporalからコピーされた説明
      指定された期間を追加して、このオブジェクトと同じ型のオブジェクトを返します。

      このメソッドは、指定された期間を加算して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、LocalDateで、これは年、月、または日の数を加算するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。

      フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲット・オブジェクトが1月31日を表す日付である場合、1か月を加算することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

      定義:
      インタフェースChronoLocalDateplus
      定義:
      インタフェースTemporalplus
      パラメータ:
      amountToAdd - 加算する指定された単位の量、負の場合もある
      unit - 加算する量の単位、nullでない
      戻り値:
      指定された期間を加算した同じ型のオブジェクト、null以外
    • minus

      public ThaiBuddhistDate minus(long amountToSubtract, TemporalUnit unit)
      インタフェース: Temporalからコピーされた説明
      指定された期間を減算して、このオブジェクトと同じ型のオブジェクトを返します。

      このメソッドは、指定された期間を減算して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、LocalDateで、これは年、月、または日の数を減算するために使用できます。 返されるオブジェクトはこのオブジェクトと同じ識別可能な型を持ちます。

      フィールドの変更が完全には定義されていない場合もあります。 たとえば、ターゲットオブジェクトが3月31日を表す日付である場合、1か月を減算することは不明な場合があります。 このようなケースでは、フィールドは結果の解決を担当します。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

      定義:
      インタフェースChronoLocalDateminus
      定義:
      インタフェースTemporalminus
      パラメータ:
      amountToSubtract - 減算する指定された単位の量、負の場合もある
      unit - 減算する量の単位、nullでない
      戻り値:
      指定された期間が減算された同じ型のオブジェクト、null以外
    • atTime

      public final ChronoLocalDateTime<ThaiBuddhistDate> atTime(LocalTime localTime)
      次のインタフェースからコピーされた説明: ChronoLocalDate
      この日付を時間と組み合わせて、ChronoLocalDateTimeを作成します。

      これは、指定された時間でこの日付から形成されたChronoLocalDateTimeを返します。 日付と時間のすべての可能性のある組合わせが有効です。

      定義:
      インタフェースChronoLocalDateatTime
      パラメータ:
      localTime - 使用するローカル時間、null以外
      戻り値:
      この日付と指定された時間から形成されたローカル日付/時間、null以外
    • until

      public ChronoPeriod until(ChronoLocalDate endDate)
      次のインタフェースからコピーされた説明: ChronoLocalDate
      この日付からもう一方の日付までの期間をChronoPeriodとして計算します。

      これは2つの日付間の期間を計算します。 提供されたすべての暦で、年、月、日を使用して期間が計算されますが、ChronoPeriod APIでは、他の単位を使用して期間を表現できます。

      開始点と終了点はthisと指定された日付です。 終了が開始より前である場合、結果は負になります。 マイナス記号は年、月、日のそれぞれで同じになります。

      計算はこの日付の暦を使用して実行されます。 必要に応じて、入力日が一致するように変換されます。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースChronoLocalDateuntil
      パラメータ:
      endDate - 終了日(この日を含まない)、任意の暦で可能、null以外
      戻り値:
      この日付と終了日の間の期間、null以外
    • equals

      public boolean equals(Object obj)
      暦を含めて、この日付を別の日付と比較します。

      このThaiBuddhistDateを別の日付と比較して、日付が同じであることを確認します。

      ThaiBuddhistDate型のオブジェクトのみが比較され、それ以外の型はfalseを返します。 2つの異なる暦の日付など、2つのTemporalAccessorインスタンスの日付を比較するには、コンパレータとしてChronoField.EPOCH_DAYを使用します。

      定義:
      インタフェースChronoLocalDateequals
      パラメータ:
      obj - チェックするオブジェクト、nullはfalseを返す
      戻り値:
      これが他方の日付と等しい場合はtrue
      関連項目:
    • hashCode

      public int hashCode()
      この日付のハッシュ・コード。
      定義:
      インタフェースChronoLocalDatehashCode
      戻り値:
      暦と日付にのみ基づいた適切なハッシュ・コード
      関連項目:
    • until

      public long until(Temporal endExclusive, TemporalUnit unit)
      次のインタフェースからコピーされた説明: ChronoLocalDate
      もう一方の日付までの時間量を指定された単位で計算します。

      これは、1つのTemporalUnitの形で2つのChronoLocalDateオブジェクト間の時間の量を計算します。 開始点と終了点はthisと指定された日付です。 終了が開始より前である場合、結果は負になります。 このメソッドに渡されたTemporalChronology.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のこのメソッドに実装します。 単位DAYSWEEKSMONTHSYEARSDECADESCENTURIESMILLENNIA、およびERASはすべての実装でサポートしてください。 その他のChronoUnit値は例外をスローします。

      単位がChronoUnitでない場合、このメソッドの結果は、thisを1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)を呼び出すことによって取得します。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースChronoLocalDateuntil
      定義:
      インタフェースTemporaluntil
      パラメータ:
      endExclusive - 終了日、排他的、同じ暦でChronoLocalDateに変換される、null以外
      unit - 量を測定する単位、null以外
      戻り値:
      この日付と終了日の間の時間の量
    • toString

      public String toString()
      次のインタフェースからコピーされた説明: ChronoLocalDate
      この日付をStringとして出力します。

      出力には、完全なローカル日付が含まれます。

      定義:
      インタフェースChronoLocalDatetoString
      オーバーライド:
      toString、クラスObject
      戻り値:
      書式設定済の日付、null以外