モジュール java.base
パッケージ java.time.chrono

クラス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)になるように調整されます。

これは値ベースのクラスです。ThaiBuddhistDateのインスタンスに対する、IDに依存する操作(参照型等価(==)、IDハッシュ・コード、または同期を含む)の使用は、予測できない結果になる可能性があるため、避けてください。 比較する場合は、equalsメソッドを使用することをお薦めします。

実装要件:
このクラスは不変でスレッドセーフです。
導入されたバージョン:
1.8
関連項目:
直列化された形式
  • メソッドの詳細

    • 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に変換できない場合
      関連項目:
      Chronology.date(TemporalAccessor)
    • 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
      戻り値:
      日数での月の長さ
    • with

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

      これは、指定されたフィールドの値を変更して、このオブジェクトに基づいて新しいオブジェクトを返します。 たとえば、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)
      次のインタフェースからコピーされた説明: ChronoLocalDate
      このオブジェクトと同じ型のオブジェクトに指定された期間を追加したものを返します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public int hashCode()
      この日付のハッシュ・コード。
      定義:
      インタフェースChronoLocalDatehashCode
      戻り値:
      暦と日付にのみ基づいた適切なハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • 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()
      次のクラスからコピーされた説明: Object
      オブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお薦めします。

      クラスObjecttoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。

       getClass().getName() + '@' + Integer.toHexString(hashCode())
       

      定義:
      インタフェースChronoLocalDatetoString
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このオブジェクトの文字列表現