JAva日付フォーマットの問題


日付変換コードは次のとおりです.
public class TestDateFormat {
static DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;
public static void main(String args[])
{
Date date = new Date() ;
try {
date = sdf.parse("2011-12-2");
System.out.println(date);//
System.out.println(sdf.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
出力結果:Fri Dec 02 00:00:00 CST 2011.欲しいものではない.出力したい場合:2011-12-2.日付をフォーマットして出力する必要があります.赤で示したように.
なぜこのように設計されたのか理解できない.
ネット上で探しているコード:
   20031208
     December 11, 2003
         ,               (   )
  
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class DateTest {

 public static void main(String[] args) {
  String input = "20031208";
  SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd", Locale.US);
  Date converted = null;
  try {
   converted = format.parse(input);
  } catch (ParseException e) {
   e.printStackTrace();
  }
  SimpleDateFormat format1 = new SimpleDateFormat("MMMMM dd, yyyy",Locale.US);
  String result = format1.format(converted);
  System.out.println(result);
 }
}