我想将字符串形式的日期转换为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
最佳答案
在代码中,您将格式指定为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);