字符串到日期转换返回错误的值

Aru*_*run 3 java string date

我试图将一个字符串转换为日期...但返回值是错误的.

String startDate = "2013-07-24";
Date date = new Date();
try{         
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD"); 
    date = (Date)formatter.parse(startDate);
    System.out.println(date);    
}
catch(Exception e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

所需的输出是:

周日7月25日00:00:00 CDT 2013

但实际输出是:

2013年1月25日星期五00:00:00 CST

七月的月份如何变成一月?

kos*_*osa 10

我看到的一个问题是:

DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD"); 
Run Code Online (Sandbox Code Playgroud)

应该:

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
Run Code Online (Sandbox Code Playgroud)

DD代表YEAR的日子.有关SimpleDateFormat的更多信息,请阅读此内容.


Jef*_*res 7

更改DD为DD;

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
Run Code Online (Sandbox Code Playgroud)