30

日付の文字列形式があります。SQL日付に変更する必要があります。そのために私は次のコードを使用しました。

String startDate="01-02-2013";
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-mm-yyyy");
java.util.Date date = sdf1.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());  

上記のコードを使用して実行したとき。次の出力が得られました。

2013-01-01.  

ここでは、月が正しく変換されていません。
問題の場所を教えてください。正しい結果を得るためのサンプルコードを提供してください。

4

5 に答える 5

52

mmです。あなたMM何ヶ月も欲しい:

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");

気分が悪くならないでください-この正確な間違いはたくさん出てきます。

于 2012-05-02T12:05:28.853 に答える
9

mm 「分」の略ですMM代わりに使用してください:

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
于 2012-05-02T12:05:04.430 に答える
5

のスタンドMMとして使用する必要があります。mm

のパターンを作成するには2つの方法があります。

SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); //outputs month in numeric way, 2013-02-01

SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy"); // Outputs months as follows, 2013-Feb-01

完全なコーディングスニペット:

        String startDate="01-Feb-2013"; // Input String
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); // New Pattern
        java.util.Date date = sdf1.parse(startDate); // Returns a Date format object with the pattern
        java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());
        System.out.println(sqlStartDate); // Outputs : 2013-02-01
于 2018-07-23T14:44:19.497 に答える
4

これは、文字列をutildateとsqldateに変換する簡単な方法です。

String startDate="12-31-2014";
SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy");
java.util.Date date = sdf1.parse(startDate);
java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); 
于 2013-07-16T09:58:56.243 に答える
1

MM日付形式を使用している間は、常に数か月からmm数分間使用することを覚えておいてください。それはあなたの問題を解決するはずです。

于 2018-07-19T08:02:05.620 に答える