【发布时间】:2012-10-16 10:01:49
【问题描述】:
大家好:有什么方法可以解析一个月 - 我的应用程序将同时使用荷兰语和英语,例如 10 月可能是 Oktober 或 10 月 - 并根据它设置相应的月份年? (例如 10 月 10 日)。
服务器总是回复一个字符串(这是荷兰语月份的名称),但我需要解析这个,因为应用程序也将使用英语)。
提前非常感谢!
【问题讨论】:
标签: android locale monthcalendar
大家好:有什么方法可以解析一个月 - 我的应用程序将同时使用荷兰语和英语,例如 10 月可能是 Oktober 或 10 月 - 并根据它设置相应的月份年? (例如 10 月 10 日)。
服务器总是回复一个字符串(这是荷兰语月份的名称),但我需要解析这个,因为应用程序也将使用英语)。
提前非常感谢!
【问题讨论】:
标签: android locale monthcalendar
使用可识别区域设置的 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();
【讨论】:
DateFormatSymbols(Locale.DUTCH).getMonths()[10];。除了使用 int 10,您还可以(也许应该)使用常量 Calendar.OCTOBER。