¿Cómo puedo obtener el patrón predeterminado de formato de fecha y hora?

¿Podría alguien decirme cómo puedo obtener el patrón predeterminado de formato de fecha y hora (String) para la configuración regional especificada (o la configuración regional predeterminada).

Lo que ya encontré (Podría ser útil para otra persona):

  1. Cómo obtener la configuración regional predeterminada.

    Locale currentLocale= Locale.getDefault(); System.out.print(currentLocale.toString()); Result is "en_US" 
  2. Cómo obtener el separador decimal.

     DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols(currentLocale); System.out.print(decimalFormatSymbols.getDecimalSeparator()); Result is "." 
  3. Cómo obtener el patrón predeterminado de formato de fecha y hora (cadena);

     (do something) System.out.print(something); And got at output something like this: "dd/mm/yyyy" or "hh:mm:ss".. or other values for specified locale. 

Muchas gracias.

UPD: Solución encontrada:

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); String dateLocalizedFormatPattern = simpleDateFormat.toLocalizedPattern(); The result of System.out.print(dateLocalizedFormatPattern) on my device is "M/d/yy h:mm a". 

Actualizar

Como Bear ruso menciona en su actualización a la pregunta hay un método toLocalizedPattern() en SimpleDateFormat que devuelve la cadena de formato.

Respuesta original

SimpleDateFormat utiliza el código siguiente en su constructor privado:

 ... ResourceBundle r = LocaleData.getDateFormatData(loc); if (!isGregorianCalendar()) { try { dateTimePatterns = r.getStringArray(getCalendarName() + ".DateTimePatterns"); } catch (MissingResourceException e) { } } if (dateTimePatterns == null) { dateTimePatterns = r.getStringArray("DateTimePatterns"); } ... 

Así que las cadenas de formato reales parece estar en un ResourceBundle accedido a través del método LocaleData.getDateFormatData() .

Desafortunadamente, la clase LocaleData es una parte del paquete interno sun.util.resources .

Creo que lo que quieres es usar la clase DateFormat . Echa un vistazo al getDateInstance(int, Locale) .

  • Establecer windowTranslucentStatus = true cuando android lollipop o superior
  • Java - ¿Tendrá beneficios el código inlining?
  • Android GPS no funciona hasta que se reinicie en nuevos teléfonos
  • ServerSocket accept () no acepta conexiones en Android
  • Agregar varios certificados SSL a Android KeyStore no funciona. (Desde el archivo de recursos)
  • Importar una biblioteca como un paquete privado
  • Android - Cambiar el tema de la aplicación en onClick
  • Glide: registra cada solicitud
  • ¿Cómo comprobar la contraseña de un EditView?
  • RegEx para encontrar URL en HTML tarda 25 segundos en Java / Android
  • AlertDialog de dentro de BroadcastReceiver ?? Se puede hacer?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.