インタフェース | 説明 |
---|---|
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 |
タイ仏暦体系の紀元。
|
デフォルトの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
をスローするようにしてください。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.