2013-07-13 78 views
0

我正在開發一個Android SDK 4.2和Android 2.2的應用程序。無法解析的日期:07/23/1975

我得到這個異常:

java.text.ParseException:無法解析的日期:1975年7月23日

這裏:

try 
{ 
    formatter = new SimpleDateFormat("MMddyyyy", Locale.US); 
    convertedDate = (Date) formatter.parse(userBirthday); 
} 
catch (ParseException ex) 
{ 
    ex.printStackTrace(); 
    convertedDate = null; 
} 

userBirthday是1975年7月23日。

我在做什麼錯?

+3

您的日期** **斜線,您的格式字符串沒有任何? – NINCOMPOOP

回答

4

試試這個:

formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US); 

但是請注意,世界人口的比例顯著認爲,用戶的生日應該寫爲「23/07/1975」 ...或別的東西。

您應該使用在語言環境中查找首選格式。請參閱DateFormat中的靜態getXxx(...)方法的文檔。 (如果這個Android應用中,該平臺的默認語言環境可能是正確的。)

+0

真是太遺憾了!這很容易看到我忘記了斜線!謝謝。 – VansFannel

+0

「你應該使用在locale中查找格式」。''是什麼意思? – VansFannel

+0

@VansFannel - 查看更新。 –

3

更改格式:

formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US); 
1

格式=新的SimpleDateFormat( 「MM/DD/YYYY」,Locale.US );

1

這裏的解決方案:

try 
{ 
    formatter = new SimpleDateFormat("MM/dd/yyyy", Locale.US); 
    convertedDate = (Date) formatter.parse(userBirthday); 
} 
catch (ParseException ex) 
{ 
    ex.printStackTrace(); 
    convertedDate = null; 
}