尝试将字符串形成日期转换为java.util.date时获得出乎意料的日期



我想将字符串表单日期转换为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

在您的代码中,您指定的格式为Yearyearyearyearyearyearte-Minuteminute Day。

如果您检查了API:http://docs.oracle.com/javase/7/docs/api/java/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);

最新更新