日時型として定義された列に現在の日付と時刻を挿入したいと考えています。
次のコードを入力しました。
java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
PrepStmt.setDate(1, sqlDate);
データベースを確認すると、日付は正しく挿入されていますが、時刻は 00:00:00 です。修正は何ですか?
列タイプとして使用しているため、日付を保存して挿入するdatetime
ために使用する必要があります。java.sql.Timestamp
PrepareStatement.setTimestamp
これを使ってみてください: -
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);
間違った方法を使用しています。代わりに使用できますPreparedStatement#setTimestamp(int parameterIndex,
Timestamp x)
。
使用する必要があるのは、 setDate() メソッドの代わりにsetTimestamp(int parameterIndex,Timestamp x)メソッドです。
タイムスタンプを設定する方法の 1 つは、次のようになります。
Timestamp timestamp = new Timestamp(new Date().getTime());
次に、パラメータを次のように設定できます。
PrepStmt.setTimestamp(1, timestamp);
必要なようですね
java.sql.Timestamp
使用するものjava.sql.Date
は日付のみを処理するためのもので、時間を記録しません。または、時間だけが必要な場合に使用できjava.sql.Time
ます。
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);
私はこれを使用してそれを解決しました..
setTimestamp を試してみてください
PrepStmt.setTimestamp(1, sqlDate);