10

Java (J2SE) を使用してアプリケーションを開発しています。
時刻をデータベースに保存する必要があります (例: 16:30:12)。
日付 (または日付 + 時刻) を保存する必要がある場合は、それを Unix タイムスタンプに変換し、Long数値として保存します。
しかし、日付と時刻ではなく時刻だけが必要な場合、それを保存する最良の方法は何ですか? およびを DBMS として
使用しています。SQLiteMS Access

ありがとう

4

3 に答える 3

8

以来Java 8、またはJoda-Time以前のバージョンでライブラリを使用することによるより良い方法:

クラスを使用してLocalTime、午前 0 時からの秒数を抽出します。three bytes number (0 to 86399)これをデータベースに (8 バイトの datetime ではなく)として保存できます。

https://docs.oracle.com/javase/8/docs/api/java/time/LocalTime.html

LocalTime time = LocalTime.parse("12:34:45");
int secondOfDay = time.toSecondOfDay();
// Save to database

逆にするには:

// Get from database
LocalTime time = LocalTime.ofSecondOfDay(secondOfDay);
于 2016-01-13T09:38:47.000 に答える
5

null-date (1970 年 1 月 1 日 00:00:00 GMT) からのミリ秒単位の時間として時間を保存しても問題ありません。DB 内のこの長いデータ フィールドに対する比較操作を簡単に行うことができます。

于 2011-12-05T11:05:23.927 に答える
2

普通に収納できますString

SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
String time = sdf.format(Calendar.getInstance());
于 2011-12-05T11:05:06.563 に答える