2014-10-18 152 views
2

我有這個簡單的例子:SimpleDateFormat的解析迴流端

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/YY"); 
     System.out.println(sdf.format(new Date())); 
     try { 
      System.out.println( sdf.parse("10/18/14") ); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

在控制檯中,我越來越 14年10月18日 太陽12月29日00:00:00 EST 2013

任何解釋爲什麼sdf.parse回2013年12月29日10月18日代替2014

回答

4

您的格式StringYY,應該yy

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy"); 

SimpleDateFormat的Javadoc(這表示部分),

Letter Date or Time Component Presentation Examples 
G   Era designator   Text   AD 
y   Year     Year   1996; 96 
Y   Week year    Year   2009; 09 

目前你得到週一年

當我作出上述改變我得到(預期)

10/18/14 
Sat Oct 18 00:00:00 EDT 2014