web-dev-qa-db-ja.com

Java.util.DateAPIとJodaTimeAPIの違い

重複の可能性:
Java日付と時刻のクラスを使用するか、Joda Timeなどのサードパーティライブラリを使用するか?

基本的なJava.util.Dateクラスではなく、JodaTimeを使用する価値がある場合についてのガイダンスを使用できます。メリットは何ですか? Joda Timeを使用すると、Dateクラスでは実行できないことを実行できますか、それとも操作が簡単ですか?

また、JodaTimeが標準APIの一部であるかどうかについて矛盾する情報を見てきました。標準かどうか?

14

Javaの標準の日付と時刻のクラス(主にJava.util.DateJava.util.Calendar)には機能が制限されており、設計上の問題がいくつかあります。 Java.util.Dateのコンストラクターとメソッドの多くが非推奨であるという事実は、これを示す1つの指標です。

Joda Timeには、Javaの標準ライブラリで利用できるものよりもはるかに優れたAPIがあります。タイムゾーンの有無にかかわらずタイムスタンプのクラス、日付(年、月、日)のみまたは時刻のみを保持するクラス、期間、期間、間隔のクラスがあり、ISO 8601形式(標準)をサポートします。 XMLドキュメントのフォーマット)など。

どのプロジェクトでも、標準の日付と時刻のライブラリとしてJodaTimeを使用します。Java.util.DateJava.util.Calendarを使用する理由は実際にはありません。

Javaの将来のリリースでは、新しい日付と時刻のAPIが含まれる可能性が高いことに注意してください。これは、現在JodaTimeで利用できるものとよく似ています。 Project ThreeTen を参照してください。

Joda Timeプロジェクトのホームページの Why Joda Time? も参照してください。

また、JodaTimeが標準APIの一部であるかどうかについて矛盾する情報を見てきました。標準かどうか?

いいえ、それは 標準API の一部ではありません。

更新(コメントからコピー):

Java 8は現在リリースされており、Joda Timeに似た新しい日付と時刻のAPIがあります(パッケージJava.timeを参照)。 Java 8を使用している場合は、新しい日付と時刻のAPIを使用してください。

30
Jesper