Android翻译日期取决于区域设置

时间:2012-07-21 09:05:03

标签: android date locale

我不能在一个新项目中使用一个简单的代码,假设只需根据Locale集合编写一个多个日期的日期。

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 of the code below

现在这是显示

的假设

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

中文(中国)日期格式= 2009年1月4日

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

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

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

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

德语日期格式= 4. JANUAR 2009

这是我的展示:

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

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

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

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

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

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

德语日期格式= 2012 7 21

问题:怎么了?我在伪造一些明显的东西吗?你有领导吗?

感谢。

1 个答案:

答案 0 :(得分:1)

事实证明这是一个特定于设备的问题。该代码适用于具有正确语言环境数据的电话,也适用于仿真器。在HTC Desire上,有一些ROM的区域设置数据已损坏。 More on this issue.