DateFormat.getDateTimeInstance使用错误的本地时间格式与android 5

时间:2015-07-25 17:50:16

标签: android localization

我使用以下代码格式化输出:

    DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
    Date date = new Date(cursor.getLong(cursor.getColumnIndex(MyContentProvider.KEY_TIME_START)));
    TextView textView = (TextView) view.findViewById(R.id.column_time_start);
    textView.setText(df.format(date));

例如德语我希望当地的24小时时间格式。

使用Android 4(例如4.4.2),时间可以按预期完成。

但是对于Android 5(例如5.1),时间格式为12小时格式。

有人知道这个问题的好方法吗?

1 个答案:

答案 0 :(得分:3)

使用DateFormat.getDateTimeInstance(int, int, Locale)

尝试此操作
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT, Locale.getDefault());
String formattedDate = dateFormat .format(new Date());

如果这不适合你,请尝试这样的事情:

Locale current = getResources().getConfiguration().locale;
// Find out what the current locale is and format your date based on that