我想让我的应用显示
September 2014
英文语言环境和
2014年9月
在中国语言中。
Java中是否有任何方法(特别是Android中的Java 1.6)可以做到这一点?
我很自豪"自然"在特定文化中显示年份和月份的方法。因此,英语和中国文化只是一个例子,解决方案适用于所有系统支持的文化。
对于上面的例子,如果我有9月 2014
这样的话,我相信每个中国人都会知道这意味着什么,但在这种文化中看起来很奇怪。另一方面,2014年九月
是可以接受的。
尝试
SimpleDateFormat
的模式需要您指定年和月字段的顺序。由于这在不同语言中有所不同,因此无法解决问题。
如果您尝试弯曲规则以允许显示英语2014, September
和2014年, 9月
显示中文(这是可以接受的,但2014, 9月
仍然是奇数)并考虑{{ 1}},不幸的是它为Calendar.getDisplayName
返回null。
答案 0 :(得分:0)
也许有帮助,但它没有在android下测试:
public static void main(String[] args) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
Date d = sdf.parse("01.09.2014");
// get the formatter for a specific country/language
sdf = (SimpleDateFormat) DateFormat.getDateInstance(
DateFormat.LONG, Locale.CHINESE);
System.out.println(sdf.toLocalizedPattern());
System.out.println(sdf.format(d));
} catch (Exception ex) {
ex.printStackTrace();
}
}