java - 日历无法获取非英语语言的日期名称

标签 java localization calendar

我正在尝试使用具有德语语言环境的日历函数 getDisplayNames() 获取德语的星期几。

Calendar now = Calendar.getInstance();
Map<String,Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, Calendar.LONG, new Locale("de_DE"));

相反,我得到英文星期几的名称:Sunday、Monday,....等
我是做错了什么还是根本不起作用? 也许它与我的 IDEA 调试器控制台的 toString() 有关?我使用的是最新的 Intellij 12.1.2。

最佳答案

使用 , Locale.GERMAN 或使用 new Locale("de") 而不是 new Locale("de_DE")

Map<String,Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, 
            Calendar.LONG, Locale.GERMAN);

Map<String,Integer> displayNames = now.getDisplayNames(Calendar.DAY_OF_WEEK, 
            Calendar.LONG, new Locale("de"));

浏览 Locale(String) 的 Javadocs 很有帮助构造函数,它表示“从语言代码构造语言环境”。德语的语言代码是 "de" 而不是 "de_DE"。

关于java - 日历无法获取非英语语言的日期名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16313372/

相关文章:

http - Golang 网络应用程序本地化

java - 在 Java 中,获取系统时间最快的方法是什么?

ios - NSCalendar currentCalendar 不工作

ios - Swift:使用 Localizable.stringsdict 的本地化字符串中的千位分隔符

html - 如何使用完整日历设置宽度边框事件?

java - 在 Spring Boot 中处理无效的 PathVariables

java - 具有相同删除的两种方法不一定是等效的(或者它们之间的签名不是子签名)?

java - 如何在java中打开名称为字符串的文件

java - 类名可以用作数组的数据类型吗?

java - Spring validator 错误代码不会自动解析