0

文字列形式の日付をjava.util.Dateオブジェクトに変換したいと思います。変換することはできますが、結果は期待どおりではありません。コードの一部は次のとおりです。

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
String date = "1938-06-11";
java.util.Date utilDate = null;
try {
  utilDate = formatter.parse(date);
} catch (ParseException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
System.out.println("date:" + date);
System.out.println("utilDate:" + utilDate);

そして、次の出力は実行後に来ました:

date:1938-06-11
utilDate:Tue Jan 11 00:06:00 IST 1938

なぜこれが起こっているのか、私に提案してください、しかし結果は

utilDate:Tue june 11 00:06:00 IST 1938
4

1 に答える 1

3

あなたのコードでは、フォーマットを yearyearyear-minuteminute-dayday に指定しました。

API を確認すると: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html m は分を表し、M は月を表すことがわかります。

訂正

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String date = "1938-06-11";
java.util.Date utilDate = null;
try {
  utilDate = formatter.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("date:" + date);
System.out.println("utilDate:" + utilDate);
于 2012-11-06T12:54:26.957 に答える