Java の標準の日付と時刻のクラス (主にjava.util.Date
とjava.util.Calendar
) は機能が制限されており、多くの設計上の問題があります。のコンストラクターとメソッドの多くjava.util.Date
が非推奨になっているという事実は、これを示す 1 つです。
Joda Time には、Java の標準ライブラリで利用できるものよりもはるかによく考えられた API があります。タイムゾーンの有無にかかわらずタイムスタンプのクラス、日付のみ (年、月、日) または時刻のみを保持するクラス、期間、期間、および間隔のクラスがあり、ISO 8601 形式 (標準である) をサポートしています。 XML ドキュメントでのフォーマット) など。
どのプロジェクトでも、標準の日付と時刻のライブラリとして Joda Time を使用します。実際にjava.util.Date
andを使用する理由はありません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 を使用してください。