私は時々、javaのさまざまな日付タイプとその実用的な使い方について混乱します。ここ 私は私の理解に要約しようとしています日付とタイムスタンプ対カレンダー?
java.sql.Date :-
JDBCは、SQLのDATE値としてこれを識別することができますミリ秒値の周りの薄いラッパー
java.sql.Timestamp :-
JDBCをjava.util.DateのラッパーこれをSQL TIMESTAMP値として識別するAPI。これは、SQL TIMESTAMPの小数点以下の秒の値を保持する機能を追加します。 分数秒の精度でナノ秒の精度を実現します。
ほとんどのプロジェクトで日付の代わりにタイムスタンプが使用されています。私はこの主な理由は、タイムスタンプが ナノ秒の精度までの値を保持できるのに対し、データはミリ秒まで保持できるということです。正しい?時間の特定の瞬間や、YEAR、MONTH、DAY_OF_MONTH、HOURなどのカレンダフィールドの セット間の変換のために、というように、カレンダーを操作する - :
Calendar :-
このクラスは、例えば、日付操作のために設計されていますフィールドのように、 次のweek.Theoughの理由は、このクラスは抽象的な理由はわかりません1つの実装が存在する場合、すなわちGregorianCalendar。
は、私はあなたが(まだ関連について尋ねられたものではありませんでしたが、) 'java.util.Date'を意味集めます。 [Basil Bourqueの答え](https://stackoverflow.com/a/32975887/5772882)に沿って、代わりに 'java.time.Instant'を使用します。 –