11

日付のみを保持でき、時刻コンポーネントを必要としない Java のデータ型はどれですか? たとえば、保存するだけ12/07/2012です。日付のみのデータ型を持つデータベースとの間でデータを永続化する作業を行っているため、Java で最も同等のデータ型を探しています。

4

8 に答える 8

6

JDK から: java.sql.Date:

JDBC がミリ秒値を SQL DATE 値として識別できるようにする、ミリ秒値の薄いラッパー。ミリ秒値は、から経過したミリ秒数を表しますJanuary 1, 1970 00:00:00.000 GMT

SQL DATE の定義に準拠するにはjava.sql.Date、インスタンスが関連付けられている特定のタイム ゾーンで時間、分、秒、およびミリ秒をゼロに設定することによって、インスタンスによってラップされるミリ秒の値を「正規化」する必要があります。

またはJodaTimeから:DateMidnightまたはLocalDate(@cdeszaq に感謝)

DateMidnight時刻コンポーネントが午前 0 時に固定される日付を定義します。このクラスはタイム ゾーンを使用するため、UTC タイム ゾーンが使用されない限り、午前 0 時はローカルです。

このクラスは、任意の日の真夜中の時間を表すことを強調することが重要です。午前 0 時は 00:00 として定義されていることに注意してください。これは 1 日の始まりです。

于 2012-06-18T13:20:35.693 に答える
2

Java 8 を使用している場合は、java.time.LocalDate.

于 2015-10-02T02:34:09.363 に答える
2

デートクラス。UNIX タイムスタンプを保持します。ほとんどのデータベースでは、タイムスタンプを保持するフィールドも指定できます。DateFormat を使用して、必要に応じてタイムスタンプをフォーマットできます。

于 2012-06-18T13:15:05.567 に答える
1

残念ながら、java.util.DateSQL では name を持つものTimestampです。日付のみの純粋な型はありません。javax.sql.Date拡張java.util.Dateされ、Java で日付操作にこの型を使用しても利点はありません。

私はApachecommons-langクラスを使用してこれを扱っていますDateUtils:

Date myDate = DateUtils.truncate(timestamp, Calendar.DAY_OF_MONTH);

これにより、時刻部分が削除され、日付部分のみが残ります。

于 2012-06-18T14:49:01.577 に答える
1

Date クラスを使用します。これはより良い方法です。

于 2013-04-30T08:11:07.370 に答える
1

日付のみ(時間なし)を保持する方法を示しています

formatter = new SimpleDateFormat("dd/MM/yyyy");

Date date= new Date();

Date todayWithOutTime =formatter.parse(formatter.format(date));
于 2012-06-18T13:25:51.743 に答える
1

利用可能なDateクラスを使用します。

于 2012-06-18T13:16:44.853 に答える