0

我无法在一个新项目中编写一个简单的代码,该项目假设只是根据语言环境集以多种语言编写一个日期。

Locale[] locales = new Locale[] {
            Locale.JAPAN,
            Locale.CHINA,
            Locale.KOREA,
            Locale.TAIWAN,
            Locale.ITALY,
            Locale.FRANCE,
            Locale.GERMAN
    };

    // Get an instance of current date time
    Date today = new Date();

    //
    // Iterates the entire Locale defined above and create a long 
    // formatted date using the SimpleDateFormat.getDateInstance() 
    // with the format, the Locale and the date information.
    //
    for (Locale locale : locales) {
        System.out.println("Date format in "
            + locale.getDisplayName() 
            + " = "
            + SimpleDateFormat.getDateInstance(
                  SimpleDateFormat.LONG, locale)
                      .format(today).toUpperCase());
    }
}

这是此代码的链接:以下代码的URL

现在这是它应该显示的内容

日文(日本)的日期格式 = 2009/01/04

中文(中国)日期格式 = 2009 年 1 月 4 日</p>

韩语(韩国)的日期格式 = 2009년 1월 4일 (일)

中文(台湾)日期格式 = 2009 年 1 月 4 日</p>

意大利语(意大利)的日期格式 = 4 GENNAIO 2009

法语(法国)的日期格式 = 2009 年 1 月 4 日

德语日期格式 = 4. 2009 年 1 月

这是我的显示:

日文(日本)的日期格式 = 2012 7 21

中文(中国)日期格式 = 2012 7 21

韩语(韩国)的日期格式 = 2012 7 21

中文(台湾)日期格式 = 2012 7 21

意大利语(意大利)的日期格式 = 2012 7 21

法语(法国)的日期格式 = 2012 7 21

德语日期格式 = 2012 7 21

问题:怎么了?我忘记了一些明显的事情吗?你有什么线索吗?

谢谢。

4

1 回答 1

1

事实证明,这是一个特定于设备的问题。该代码适用于具有正确区域设置数据的手机以及模拟器。在 HTC Desire 上,有些 ROM 的语言环境数据已损坏。更多关于这个问题。

于 2012-07-24T10:45:17.967 回答