パッケージjava.time.chrono
デフォルトのISO暦以外の暦体系の汎用API。
 メインAPIは、ISO-8601に定義されている暦体系に基づいています。 ただし、他の暦体系もあるため、このパッケージはそれらの基本サポートを提供します。 代替の暦は、java.time.chronoパッケージに提供されています。 
 
 暦体系はChronologyインタフェースで定義され、暦体系の日付はChronoLocalDateインタフェースで定義されます。
 
 データベースなどの永続的データ・ストアへの読み書きやネットワーク経由での日付と時間の送信を行うコードを含めて、アプリケーションでは可能な限りメインAPIを使用することが意図されています。 chronoクラスは、ユーザー・インタフェース・レベルで使用して、ローカライズされた入力/出力を処理します。 この問題の完全な説明については、ChronoLocalDateを参照してください。 
 
 アプリケーションでISO以外の暦体系を使用すると、格段に複雑になります。 chronoインタフェースを操作する前に、ChronoLocalDateの警告と推奨事項を読んでおいてください。 
 
サポートされる暦体系には次が含まれます。
例
この例では、使用可能なすべての暦の今日の日付を一覧表示しています。
   // Enumerate the list of available calendars and print todays date for each.
       Set<Chronology> chronos = Chronology.getAvailableChronologies();
       for (Chronology chrono : chronos) {
           ChronoLocalDate date = chrono.dateNow();
           System.out.printf("   %20s: %s%n", chrono.getId(), date.toString());
       }
 
 この例では、ISO以外の指定の暦体系で日付を作成し、使用しています。
   // Print the Thai Buddhist date
       ChronoLocalDate now1 = Chronology.of("ThaiBuddhist").dateNow();
       int day = now1.get(ChronoField.DAY_OF_MONTH);
       int dow = now1.get(ChronoField.DAY_OF_WEEK);
       int month = now1.get(ChronoField.MONTH_OF_YEAR);
       int year = now1.get(ChronoField.YEAR);
       System.out.printf("  Today is %s %s %d-%s-%d%n", now1.getChronology().getId(),
                 dow, day, month, year);
   // Print today's date and the last day of the year for the Thai Buddhist Calendar.
       ChronoLocalDate first = now1
                 .with(ChronoField.DAY_OF_MONTH, 1)
                 .with(ChronoField.MONTH_OF_YEAR, 1);
       ChronoLocalDate last = first
                 .plus(1, ChronoUnit.YEARS)
                 .minus(1, ChronoUnit.DAYS);
       System.out.printf("  %s: 1st of year: %s; end of year: %s%n", last.getChronology().getId(),
                 first, last);
  
 この例では、特定のタイ仏暦体系で日付を作成し、使用しています。
   // Print the Thai Buddhist date
       ThaiBuddhistDate now1 = ThaiBuddhistDate.now();
       int day = now1.get(ChronoField.DAY_OF_MONTH);
       int dow = now1.get(ChronoField.DAY_OF_WEEK);
       int month = now1.get(ChronoField.MONTH_OF_YEAR);
       int year = now1.get(ChronoField.YEAR);
       System.out.printf("  Today is %s %s %d-%s-%d%n", now1.getChronology().getId(),
                 dow, day, month, year);
   // Print today's date and the last day of the year for the Thai Buddhist Calendar.
       ThaiBuddhistDate first = now1
                 .with(ChronoField.DAY_OF_MONTH, 1)
                 .with(ChronoField.MONTH_OF_YEAR, 1);
       ThaiBuddhistDate last = first
                 .plus(1, ChronoUnit.YEARS)
                 .minus(1, ChronoUnit.DAYS);
       System.out.printf("  %s: 1st of year: %s; end of year: %s%n", last.getChronology().getId(),
                 first, last);
  
 パッケージの仕様
 他で指定がない場合、このパッケージの任意のクラスまたはインタフェースのメソッドまたはコンストラクタにnull引数を渡すとNullPointerExceptionがスローされます。 nullの動作のサマリーとしては、Javadocの@paramの定義が使用されます。 各メソッドのドキュメントに@throws NullPointerExceptionは明記されていません。 
 
 すべての計算で数値のオーバーフローをチェックし、ArithmeticExceptionまたはDateTimeExceptionをスローするようにしてください。
 
- 導入されたバージョン:
- 1.8
- 
インタフェースのサマリー インタフェース 説明 ChronoLocalDate 任意の暦で時またはタイム・ゾーンのない日付、高度なグローバリゼーション・ユース・ケース向けです。ChronoLocalDateTime<D extends ChronoLocalDate> 任意の暦のタイムゾーンのない日付/時間、高度なグローバリゼーション・ユース・ケース向けです。Chronology 日付の編成と識別に使用される暦体系。ChronoPeriod 任意の暦での3年、4か月、5日などの、日付ベースの時間の量、高度なグローバリゼーション・ユース・ケース向けです。ChronoZonedDateTime<D extends ChronoLocalDate> 任意の暦のタイムゾーン付きの日付/時間、高度なグローバリゼーション・ユース・ケース向けです。Era 時系列の紀元。
- 
クラスのサマリー クラス 説明 AbstractChronology 日付の編成と識別に使用される暦体系の抽象実装。HijrahChronology ヒジュラ暦はイスラム暦をサポートする太陰暦です。HijrahDate ヒジュラ暦体系の日付。IsoChronology ISO暦体系。JapaneseChronology 和暦体系。JapaneseDate 和暦体系の日付。JapaneseEra 和暦体系の紀元。MinguoChronology 民国暦体系。MinguoDate 民国暦体系の日付。ThaiBuddhistChronology タイ仏暦体系。ThaiBuddhistDate タイ仏暦体系の日付。
- 
列挙型のサマリー 列挙型 説明 HijrahEra ヒジュラ暦体系の紀元。IsoEra ISO暦体系の紀元。MinguoEra 民国暦体系の紀元。ThaiBuddhistEra タイ仏暦体系の紀元。