2012-05-02 12 views
18

私は日付の文字列形式を持っています。私はSql Dateに変更する必要があります。だから私は次のコードを使用しています。文字列からSQLへの日付変換Javaの日付は異なる出力ですか?

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. 

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

答えて

36

mmです。

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

が気を悪くしないでください - この正確なミスが大量に来る:あなたは MMヶ月 のためにしたいです。

+0

大穂に文字列を変換する簡単な方法..ですおかげBohemain。 –

+0

ありがとうございます –

6

mmstands for "minutes"。代わりにMMを使用してください:

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

utilの日とSQLの日付

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()); 
+2

コードにいくつかのコメントが役に立ちます。 – sandrstar