有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

尝试将字符串格式的日期转换为java时获取意外日期。util。日期

我想将字符串形式的日期转换为java。util。日期对象。 我可以转换,但结果不是我所期望的。下面是一段代码:

 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

共 (1) 个答案

  1. # 1 楼答案

    在代码中,您将格式指定为YearYearMinuteDayday

    如果你查看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);