0

デバイスのロケール 12 時間/24 時間モードなどの設定に従って、日付/時刻を表示したいだけです。

ここSOに関するいくつかの投稿を見て、私は最終的にこれを使用しようとしました:

long millis = this.startDate.getTime();
if (DateFormat.is24HourFormat(context)) { // Why do I have to check that ?!?
    strDate = DateUtils.formatDateTime(context, millis, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR);
} else {
    strDate = DateUtils.formatDateTime(context, millis, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_TIME);
}

残念ながら、DateUtils.FORMAT_24HOUR現在は廃止されているので、デバイスのローカルと設定を考慮して日付を表示する方法を教えてください。

したがって、自分でフォーマットを指定したくないので、 SimpleDateFormat は期待される答えではありません。

4

1 に答える 1