4

私は次のようなユーティリティ日付を持っています2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23

その日付をmysqlデータベーステーブルの列の日付に保存したい

これらのコードを使用しています

String datevalue=request.getParameter("date");

この日付値はこのように印刷されてい2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23, 2013-10-23ます。

 String[] datetokens=datevalue.split(",");
java.sql.Date dt = java.sql.Date.valueOf(new String(datevalue));

挿入時にこれらのエラーが発生しています

java.lang.IllegalArgumentException

その問題を解決し、データベースに保存する方法を提案してください

4

7 に答える 7

1

日付形式オブジェクトを使用して、 SimpleDateFormatなどの日付を解析したい

String dateValuesString = request.getParameter("date");
String[] dateValueStrings = dateValuesString.split(",");
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
for (String dateString : dateValueStrings) {
    Date date = sdf.parse(dateString); 
}
于 2013-10-23T06:58:14.397 に答える
0

この場合:

  • カンマ (,) で区切られた日付値のリストを渡しました。
    String datevalue=request.getParameter("date");

  • すべての日付を、各日付値を保持する文字列の配列に分割しました。
    String[] datetokens = datevalue.split(",");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", dateValue);
    ...解析する日付形式を指定します。

  • ここで、配列内の各文字列にアクセスするために (for ループで) 反復する必要があります。// ここで、反復ごとに値を MySQL に
    for(String dateValue : datetokens){
    Date date = sdf.parse(dateValue.trim());
    java.sql.Date sqlDate = new java.sql.Date(date.getTime());
    INSERT します。sqlDate
    }

  • データベース接続を管理し、挿入中に適切なクエリを提供することを忘れないでください。

  • また、ParseExceptionieを処理します。try/catch または throw を使用します。

于 2013-10-23T07:34:05.310 に答える
0

このようにも試してください:-

String dateValuesString = request.getParameter("date");
String[] dateValueStrings = dateValuesString.split(",");
SimpleDateFormat myFormat = new SimpleDateFormat("yy-MM-dd");
for (String dateString : dateValueStrings) {
String reformattedStr = myFormat.format(dateString);
 System.out.println(reformattedStr);
}
于 2013-10-23T07:18:47.437 に答える
0

関数を使用する必要がありSTR_TO_DATEます。次のように INSERT 時に typeCasting を試してください。

INSERT INTO MY_TABLE VALUE (STR_TO_DATE('5/15/2012 8:06:26 AM', '%c/%e/%Y %r'))
于 2013-10-23T06:58:06.197 に答える