Intereting Posts
Как использовать Active Android с базой данных в памяти для модульных тестов с использованием Robolectric? Преимущества Parcelable над JSON Android: эмулятор не запускается Андроид таймер вопрос Показать диалоговое окно входящих сообщений для не-пользователей, таких как Allo Невозможно установить OnClickListener в диалоговом окне приложения для Android Приложение Android сбой при подключении к Firebase Android LinearLayout заполняет-посередине Fit bit API :: Передача данных о частоте сердечных сокращений пользователя из устройства, поддерживающего бит, в собственное приложение для Android Ошибка «Ошибка открытия базы данных» при копировании базы данных sqlite из активов В Android 4.2 Обнаруживать доступность мягкой навигационной панели в устройстве onePlusOne? Я вижу «усеченный» внутри веб-SQL в Chrome DevTools при использовании Stetho Как использовать WebRTC + Pubnub Api для клиента видеочата в приложении для собственного андроида Android – отключить поддержку экрана x больших экранов Обрабатывать обратные вызовы в Socket.io android client v1.4

Как получить выбранный пользователем формат даты в 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 (мм / дд / гггг). Но посмотрите формат даты, который я выбрал на телефоне. Как я могу получить точный формат?

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

 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);