2012-07-06 59 views
-2

可能重複的月份:
Improper result of SimpleDateFormat解析日期給出00

下面的代碼輸出的00/12/2010的日期。我無法弄清楚爲什麼日期字符串被毫無例外地解析,但是月份被設置爲00.爲了理智的緣故,我試着對Locale.Enlgish的SimpleDateFormat構造函數使用第二個參數,但這並沒有幫助。有什麼建議麼?

String dateString = "12-OCT-10"; 
    SimpleDateFormat formatFrom = new SimpleDateFormat("dd-MMM-yy"); 
    Date date = formatFrom.parse(dateString); 
    SimpleDateFormat formatTo = new SimpleDateFormat("mm/dd/yyyy"); 
    System.out.println(formatTo.format(date)); 
+2

您的第一站應該是[文檔](http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)。然後[搜索](https://www.google.com/search?q=wrong+month+simpledateformat+site%3Astackoverflow.com)。 :-) – 2012-07-06 18:10:14

+0

不能同意更多。我閱讀文檔,我知道小寫'm'是分鐘的,這就是爲什麼我在第一個SimpleDateFormat中使用大寫'M'的原因。我只是第二個愚蠢。愚蠢的錯誤。真的希望我能刪除這篇文章。感謝您的幫助。 – Mario 2012-07-06 18:13:42

回答

12

mm的是分鐘,使用MM;詳情請參閱the documentation

+0

另請參閱:http://stackoverflow.com/questions/11356109/improper-result-of-simpledateformat/同一問題 – 2012-07-06 18:05:14

+1

嘖嘖,你得開玩笑吧。我不敢相信我這樣做,並浪費了一個小時。感謝您成爲一組額外的眼睛。 – Mario 2012-07-06 18:07:08