2012-10-16 29 views
0

大家好:有沒有什麼辦法我可以解析一個月 - 我的應用程序將是荷蘭語和英語,所以例如10月可以是十月或十月 - 並根據它,設置一年的相應月份? (十月將是第十例)。Android:解析月份與區域設置

服務器總是回覆一個字符串(這是一個月IN DUTCH的名稱),但我需要解析這個,因爲應用程序也將以英文顯示)。

非常感謝!

+0

這可以幫助你的http:// stackoverflow.com/a/9904658/1160207 –

回答

3

使用感知區域的DateFormat符號。不要試圖硬編碼月份名稱。

DateFormatSymbols(Locale.DUTCH).getMonths()[Calendar.OCTOBER]; // returns Oktober 

或者

Calendar.getDisplayNames(MONTH, ALL_STYLES, Locale.DUTCH); // returns a map which you can use to match strings 

如果你正在從別的地方月份名稱字符串,可以將其轉換爲一個月號:

DateTime instance = format.withLocale(Locale.DUTCH).parseDateTime("Oktober"); 
int monthNum = instance.getMonthOfYear(); 
+0

我用第一個稍作修改,但非常好,謝謝! – noloman

+0

你的回答建議'DateFormatSymbols(Locale.DUTCH).getMonths()[10];'。而不是使用int'10',你可以(也可以)使用常量'Calendar.OCTOBER'。 –

+1

@ Gee.E謝謝。你是對的。我編輯過。 – Simon