Android:使用语言环境解析月份
Posted
技术标签:
【中文标题】Android:使用语言环境解析月份【英文标题】:Android: Parsing months with locale 【发布时间】:2012-10-16 10:01:49 【问题描述】:大家好:有什么方法可以解析一个月 - 我的应用程序将同时使用荷兰语和英语,例如 10 月可能是 Oktober 或 10 月 - 并根据它设置相应的月份年? (例如 10 月 10 日)。
服务器总是回复一个字符串(这是荷兰语月份的名称),但我需要解析这个,因为应用程序也将使用英语)。
提前非常感谢!
【问题讨论】:
这可以帮助你***.com/a/9904658/1160207 【参考方案1】:使用可识别区域设置的 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
。以上是关于Android:使用语言环境解析月份的主要内容,如果未能解决你的问题,请参考以下文章
使用指定的语言环境 (sv) 和 NumberFormat 将字符串解析为 Long