14

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

基本的な java.util.Date クラスではなく Joda Time を使用する価値がある場合について、いくつかのガイダンスを使用できます。利点は何ですか?Joda Time では、Date クラスではできないことをすべて実行できますか?それとも単に操作が簡単なだけでしょうか?それとも何ですか?

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

4

1 に答える 1

31

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

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

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

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

Joda Time を選ぶ理由も参照してください。Joda Time プロジェクトのホームページにあります。

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

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

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

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

于 2012-08-20T08:01:30.403 に答える