下面的代碼輸出的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));
您的第一站應該是[文檔](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
不能同意更多。我閱讀文檔,我知道小寫'm'是分鐘的,這就是爲什麼我在第一個SimpleDateFormat中使用大寫'M'的原因。我只是第二個愚蠢。愚蠢的錯誤。真的希望我能刪除這篇文章。感謝您的幫助。 – Mario 2012-07-06 18:13:42