2015-06-02 62 views
-2

試圖格式化使用的SimpleDateFormat APISimpleDateFormat的API顯示錯誤的日期

String[] dates={"18-01-2015","9-02-2015","21-03-2015"}; 
for(String s:dates){ 
    SimpleDateFormat format=new SimpleDateFormat("DD-MM-yyyy"); 
    Date date=format.parse(s); 
    System.out.println(date); 
} 

輸出幾個日期:

Sun Jan 18 00:00:00 IST 2015 
Fri Jan 09 00:00:00 IST 2015 
Wed Jan 21 00:00:00 IST 2015 

你可以爲它顯示JAN代替FEB/MAR所有日期另行通知。

+3

它應該是'DD-MM-yyyy' –

+0

@Raj我簡直不敢相信。 – MaxZoom

回答

6

當您構建SimpleDateFormat時,您想要dd而不是DDDD意味着「一年中的一天」,而不是「一個月中的某一天」。 時間SimpleDateFormat看起來像是做錯了事情,你應該諮詢documentation並真正仔細檢查你的模式文本 - 特別是大寫。

(還有其他的東西,可能會出錯,當然 - 我已經得到了最常見的一個blog post

+0

冰雹Jon Skeet。 – Ungeheuer

+0

謝謝喬恩。這真的很有幫助 –