0

Locale セットに応じて、多くの言語で 1 つの日付を単純に記述することを想定している、新しいプロジェクトで単純なコードを作成することはできません。

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

フランス語 (フランス) の日付形式 = 4 JANVIER 2009

ドイツ語の日付形式 = 4. JANUAR 2009

そして、ここに私のディスプレイがあります:

日本語 (日本) の日付形式 = 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 に答える