0

Java を使用して SQL サーバーに日付を挿入しようとしているときに問題が発生しました。

//final String input = "20120823151034";
final String input = "06282013143533";

final DateFormat df = new SimpleDateFormat("MMddyyyyHHmmss");
final Calendar c = Calendar.getInstance();
c.setTime(df.parse(input));
//c.add(Calendar.MILLISECOND, 1);
String s=df.format(c.getTime());
java.util.Date parsedUtilDate = df.parse(s);  
java.sql.Date sqltDate= new java.sql.Date(parsedUtilDate.getTime());  
System.out.println(sqltDate);

ここでは、完全な文字列が年、月、日、時、分、秒として出力され、SQL サーバーに挿入されることを期待していますが、年、月、日しか取得していません。日付と時刻をデータベースに挿入するにはどうすればよいですか?

4

2 に答える 2

4

データベースのDATAタイプを確認するTimestampDatetime、この目的NOW()のために現在の日付と時刻にデータベース関数を使用できます。日付をタイムスタンプに変換します

  Timestamp timestamp = new Timestamp(new Date().getTime());

timestampこれをデータベースに挿入します

于 2013-07-01T13:12:06.093 に答える
1

java.sql.Date年、月、日のみを格納するために使用できます。時刻の保存には使用できません。

時間を保存するには、 を使用する必要がありますTimestamp。上記のコードで、置き換えます

java.sql.Date sqltDate= new java.sql.Date(parsedUtilDate.getTime()); 

java.sql.Timestamp timestamp = new java.sql.Timestamp(parsedUtilDate.getTime());

上記の変更により、問題なく動作します。

于 2013-07-01T13:27:59.980 に答える