0

今日の日付を取得し、SQL テーブルに渡してそこに保存する方法を探しています。保存された日付を呼び出し、JODA TIME API で何らかのタスクを実行します。変更された Joda time Date を SQL テーブルに保存し、そこに保存してプロセスを続行します。

私はこのようにしてみました、

//prints todays date
java.sql.Date sqlDate = new java.sql.Date(new Date().getTime());
//passes wrong date to the table like 1970-07-01 instead of 2013-03-01
String insert = "INSERT INTO TEST_TABLE VALUES(1,"+sqlDate+")";
pStmt = conn.prepareStatement(insert);
pStmt.executeUpdate();

//converting to joda time 
LocalDate ld = new LocalDate(sqlDate);

//some calculations, and how to convert back to sql date?

ここでやろうとしているのは、3 つの列 (id、startdate、finishdate) を持つテーブルです。ID はユーザーが入力し、開始日は今日の日付で自動的に入力されます。ジョダ時間と終了日を使用したいくつかの計算の後、終了日に設定されます。

コード

String insert = "INSERT INTO TEST_TABLE VALUES(2,'"+timestamp+"')";

エラー

Data type mismatch in criteria expression
//I have created table using MS access
//the format of the date column is Date/Time.
4

1 に答える 1

4

ここでタイムスタンプを使用できます。java.sql.Timestampextendsjava.util.Dateなので、 a でできることは何でも ajava.util.Dateでもできますjava.sql.Timestamp

LocalDateTime を Timestamp に変換するには

Timestamp timestamp = new Timestamp(localDateTime.toDateTime().getMillis());

Timestampしかし、それでもjava.sql.Dateに変換したい場合は、これを使用してください

java.sql.Date date = new java.sql.Date(timeStamp.getTime());  
于 2013-03-01T10:43:52.993 に答える