Java 将字符串转换为日期格式错误

Java 将字符串转换为日期格式错误,java,string,date,Java,String,Date,我想将字符串转换为日期,但输出日期与输入日期不同 String dateString="04/01/2014"; SimpleDateFormat format=new SimpleDateFormat("MM/DD/YYYY"); try { Date date=format.parse(dateString); System.out.println(date); } catch (ParseException e) { // TODO Auto-ge

我想将字符串转换为日期,但输出日期与输入日期不同

  String  dateString="04/01/2014";
  SimpleDateFormat format=new SimpleDateFormat("MM/DD/YYYY");
  try {
Date date=format.parse(dateString);
    System.out.println(date);
  } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

输出为2013年12月29日星期日00:00:00 EET

您的格式字符串错误,来自-

第189年的D日

d第10个月的第几天

y年1996年;九十六

2009年Y周;09

那么,你想要什么-

String  dateString="04/01/2014";
SimpleDateFormat format=new SimpleDateFormat("MM/dd/yyyy");
try {
  Date date=format.parse(dateString);
  System.out.println(date);
} catch (ParseException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

这是正确的输出。你期待什么?为什么?阅读
SimpleDateFormat
的javadoc。通过
DD
YYYY
更改
DD
。这是正确的输出!您正在输出的是日期而不是字符串!如果要输出日期对象,必须对该对象应用格式化程序输入日期为2014年1月4日,但输出日期为2013年12月29日