Java 不同地区的部分日期格式

Java 不同地区的部分日期格式,java,android,internationalization,date-format,Java,Android,Internationalization,Date Format,我想让我的应用程序显示 September 2014 英语语言环境和 2014年9月 在中国地区 特别是在Java中,Android中的Java1.6可以做到这一点吗 我对在特定文化中以自然的方式显示年份和月份很感兴趣。因此,中英文文化只是一个例子,解决方案适用于所有系统支持的文化 对于上面的例子,如果我有类似于9的东西月 2014年,我相信每一个说汉语的人都会知道这意味着什么,但在那种文化中,这看起来很奇怪。另一方面,2014年年九月 这是可以接受的 尝试 SimpleDataFormat

我想让我的应用程序显示

September 2014
英语语言环境和

2014年9月
在中国地区

特别是在Java中,Android中的Java1.6可以做到这一点吗

我对在特定文化中以自然的方式显示年份和月份很感兴趣。因此,中英文文化只是一个例子,解决方案适用于所有系统支持的文化

对于上面的例子,如果我有类似于9的东西月 2014年,我相信每一个说汉语的人都会知道这意味着什么,但在那种文化中,这看起来很奇怪。另一方面,2014年年九月 这是可以接受的

尝试

SimpleDataFormat的模式需要您指定年和月的顺序字段。因为这在不同的语言中是不同的,所以这并不能解决它

如果你试图改变规则,允许显示2014年,英语和2014年为9月年, 9月 对于中国人来说,这是可以接受的,但2014年,9月 仍然是奇怪的,考虑日历。GETDISPLAY NoD,不幸的是它返回日历No.No.< /P>的NULL。
也许这会有帮助,但它没有在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();
    }
}

您是否需要针对任何区域设置的解决方案,或者您只是在寻找针对英文和中文的解决方案?可能的副本。和。提示:。