1

日付としての変数の値をデータベースに保存する方法。

私の文字列は次のとおりです

Java

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    try {
        SimpleDateFormat parseFormatter = new SimpleDateFormat("yyyy-MM-dd");
        //SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss+hh:mm"); 
        Date date = parseFormatter.parse(mydate);

        String formattedDate = formatter.format(date);
        System.out.println("Date"+formattedDate);
      return formattedDate;  <<need to save its value to database lets say its value is 2013-03-19

タイプが日付であるテーブルの列に保存する必要があります。

データベース

Name Type
Date date

文字列を日付に変換する必要があると思いますが、どうすればよいですか?

ps.setDate(????)
4

4 に答える 4

1

mydateがyyyy-MM-dd形式の文字列の場合、次の操作を実行できます

    PreparedStatement ps = conn.prepareStatement("insert into t1 (date) values (?)");
    ps.setDate(1, java.sql.Date.valueOf(mydate));
    ps.executeUpdate();
于 2013-03-04T05:59:42.023 に答える
0

MySqlでSTR_TO_DATE関数を使用します

編集

例えば

INSERT INTO table (dateCol1, col2 ..)
VALUES (STR_TO_DATE('May 1, 2013','%M %d,%Y'), col2value, ...)
于 2013-03-04T05:53:21.450 に答える
0

MySQLは日付を理解します。を使用していると仮定すると、はPreparedStatement標準のJDBCを使用できますstmt.setDate(n,date)。ここnで、はパラメータインデックスであり、dateはdate型のJava変数です。

文字列変換を行う必要はありません。

于 2013-03-04T05:55:27.070 に答える
0

文字列を日付に変換する必要があると思いますが、どうすればよいですか?

Stringに変換したい場合はDateString2013-03-19

String yourString = "2013-03-19";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(yourString);

ここで、はオブジェクトにString変換されますが、この特定の日付を別の日付オブジェクトに設定する必要がある場合、日付を引数として取るような直接メソッドがDateクラスにないためDate、この方法では不可能です。yourDateObj.setDate(date)

特定の日付を設定するには、次のようなカレンダーを使用できます

Calendar yourDate = new GregorianCalendar();
yourDate.setTime(date);

それ以外の場合は、この方法でも使用できますがDate(int year, int month, int date)、現在は非推奨です。

または、#function_str-to-dateの列に挿入Stringする場合は、 EdHealの回答に同意しますDatemysql

于 2013-03-04T06:32:25.993 に答える