5

次の方法で取得されるミリ秒単位で指定された日付/時刻があります。

Calendar.getInstance().getTimeInMillis();

これを、デバイス上のローカル形式が何であれ、日付と時刻を表す文字列にフォーマットしたいと思います。例えば:

US:      12/15/2013 10:30 pm
Germany: 15.12.2013 22:30

次のような書式を指定する必要はありません。

SimpleDateFormat outputFormat = new SimpleDateFormat("MMM dd, yyyy h:mm a");

ローカルの書式設定を処理する API はありますか?

4

4 に答える 4

0

これがあなたが探しているものだと思います:

Locale locale = Locale.getDefault();    
Date today = new Date();
SimpleDateFormat.SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.LONG, SimpleDateFormat.LONG, locale).format(today));

localeそれに応じてその値を確認して渡す必要があります。

于 2013-03-15T09:13:13.493 に答える
0

DateFormatを確認してください。特に

public static final DateFormat getDateInstance(int style,
                                               Locale aLocale)

ここにがあります。それが役立つかどうかを確認してください。

于 2013-03-15T09:24:41.187 に答える
0

このコードを参照してください

    String myformat = android.provider.Settings.System.getString(getContentResolver(),     android.provider.Settings.System.DATE_FORMAT);
    DateFormat dateFormat;
    if (TextUtils.isEmpty(myformat)) {
      dateFormat = android.text.format.DateFormat.getMediumDateFormat(getApplicationContext());
    } else {
      dateFormat = new SimpleDateFormat(format);
    }

したがって、dateformat はデバイスの日付と一致します

于 2013-03-15T09:20:48.017 に答える
-2

オプションとして、フォーマット文字列を文字列リソースに保存して、

getResources().getString(R.string.format)

次に、必要な文字列をロケールフォルダに配置します。次に例を示します。

res/values-en/strings.xml
res/values-fr/strings.xml
于 2013-03-15T09:15:37.683 に答える