2013-12-13 18 views
2

我有以下功能轉換日期:嘗試將日期YYYY-MM-DD轉換爲DD-MMM-YYYY,但該函數始終以月份的形式返回1月。

public String dateConvert(String D){ 

     SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-DD"); 
     SimpleDateFormat format2 = new SimpleDateFormat("dd-MMMM-yyyy"); 
     Date date = null; 
     try { 
      date = format1.parse(D); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     String dateString = format2.format(date); 
     dateString = dateString.replace("-", " "); 
     System.out.println(dateString); 
     return ((dateString)); 
    } 

但是什麼都日期我通過這一點,一個月總會被轉化爲一月。我不知道我哪裏出錯了!

回答

6

大寫D是一年中的某一天,而不是一天中的某一天。

如果您將月份的任何一天(1-31)視爲一年中的某一天,則將在一月份下降。

對於format1使用小寫d

+0

感謝的人,它是如此愚蠢的我的! – User3

1

這裏

否則,它似乎很好地工作在這裏。

public static void main(String[] args) { 
    dateConvert("2013-10-12"); 
} 

打印

12 October 2013 
相關問題