Как получить выбранный пользователем формат даты в Android?

Я работаю над проблемой формата даты, выбранной пользователями в Android Phone. Я прошел почти много вопросов и ответов на stackoverlow и havent получил прекрасный ответ. Например: – Я выбрал dateformat в телефоне: «Сб, 31 декабря 2011». Но когда я использовал как основанный вопрос, ответил на stackoverflow: –

DateFormat df = android.text.format.DateFormat.getDateFormat(context.getApplicationContext()); tv.setText(df.format(date)); 

Выше код возвращает мне формат 06/08/2011 (мм / дд / гггг). Но посмотрите формат даты, который я выбрал на телефоне. Как я могу получить точный формат?

Solutions Collecting From Web of "Как получить выбранный пользователем формат даты в Android?"

В приложении, которое я сейчас разрабатываю, я использую следующее, которое, я считаю, будет делать то, что вам нужно

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

DateFormat.getDateFormat работает DateFormat.getDateFormat . Он возвращает один из трех возможных форматов:

  1. MM/DD/YYYY
  2. DD/MM/YYYY
  3. YYYY/MM/DD

Я не уверен, как вы настроили формат «Sat, 31 Dec 2011» , но, насколько я знаю, Android позволяет установить только один из трех указанных форматов (Настройки -> Дата и время -> Выбрать формат даты).

Введите описание изображения здесь

Попробуй это

 Date inDate = inFormat.parse(in); DateFormat outFormat = android.text.format.DateFormat.getDateFormat(context); out=outFormat.format(inDate);