日期不正确

Far*_*uzi 2 java

我想用名字显示几个月.所以我正在使用JODA.jar

这是我的代码:

   public static void main(String[] args) {
    String date1 = "2013-21-01 14:00:00";
    String date2 = "2013-01-01 14:00:00";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH);
    Date date11, date22;
    try {
        date11 = sdf.parse(date1);
        System.out.println("Date : " +date11);
        date22 = sdf.parse(date2);
        System.out.println("Date : " +date22);

    DateTime dt1 = new DateTime(date11);
    String monthName1 = dt1.monthOfYear().getAsText(Locale.ENGLISH); 
    DateTime dt2 = new DateTime(date22);
    String monthName2 = dt2.monthOfYear().getAsText(Locale.ENGLISH); 

    System.out.println("String1 : " +monthName1+" "+dt1.getYear());
    System.out.println("String2 : " +monthName2+" "+dt2.getYear());
    }
    catch (ParseException e) {
        e.printStackTrace();
    }                   
    }
Run Code Online (Sandbox Code Playgroud)

在第一次约会时,我把21个像月份一样,这是不可能的.但我在控制台中有这个:

  Date : Mon Sep 01 14:00:00 GMT+01:00 2014
  Date : Tue Jan 01 14:00:00 GMT+01:00 2013
  String1 : September 2014
  String2 : January 2013
Run Code Online (Sandbox Code Playgroud)

怎么会这样?通常它不应该显示第一个日期,只是正确的日期,对吧?

Sot*_*lis 6

它目前正在进入下一年.

21 - 12 = 9 = September
Run Code Online (Sandbox Code Playgroud)

因此它不会翻转,只是让它不宽松

sdf.setLenient(false);
Run Code Online (Sandbox Code Playgroud)