以下代码输出“日本标准时间”。
TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");
Locale locale = new Locale("ja_JP");
System.out.println(tz.getDisplayName(locale));
我希望它能够按照“日本标准时”的方式输出汉字。我传递给getDisplayName()的时区ID或语言环境似乎并不重要 - 生成的文本始终为英语。如何获取本地化值?
我正在使用Sun Java SDK / JRE版本1.6.0_18。我也试过运行tzupdater实用程序,但结果没有变化。
答案 0 :(得分:3)
如果您使用预定义的JAPAN
区域设置,则可以使用
System.out.println(tz.getDisplayName(Locale.JAPAN));
至少,它在我的控制台上打印了一堆问号,而不是“日本标准时间”,这必须是一个好兆头。
Locale.JAPAN
定义为new Locale("ja_JP_", "ja", "JP")
,因此构造函数参数中显然存在一些细微之处。