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:使用语言环境解析月份的主要内容,如果未能解决你的问题,请参考以下文章

Twig:根据当前语言环境显示月份的名称

如何根据语言环境仅显示日期的日期和月份?

使用指定的语言环境 (sv) 和 NumberFormat 将字符串解析为 Long

Android 使用语言环境获取国家/地区 Emoji 标志

Paypal android 集成:不支持某些语言环境货币

Android 在应用程序中更改和设置默认语言环境