Advertencia de SimpleDateFormat Para obtener el formato local, utilice getDateInstance (), getDateTimeInstance () o getTimeInstance ()

¿Necesito estar preocupado por esta advertencia? ¿Qué pasa si ignoro la advertencia?
¿Qué significa esta advertencia:
Para obtener el formato local, utilice getDateInstance() , getDateTimeInstance() o getTimeInstance() , o utilice new SimpleDateFormat(String template, Locale locale) con, por ejemplo, Locale.US para fechas ASCII .
En la 2ª Línea del código abajo. La aplicación está funcionando bien con el código. Quería mostrar la fecha, por ejemplo, el 19 Nov 2014 .

 public static String getFormattedDate(long calendarTimeInMilliseconds) { SimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy"); //ON THIS LINE Date now = new Date(); now.setTime(calendarTimeInMilliseconds); String strDate = sdfDate.format(now); return strDate; } 

Creo que esta es una forma correcta de dar formato a la fecha como se muestra aquí .

Actualmente está utilizando el constructor SimpleDateFormat (String) . Esto implica la configuración regional predeterminada y, como le indica la documentación de la configuración regional , tenga cuidado con la configuración regional predeterminada, ya que puede producirse una salida inesperada en varios sistemas.

En su lugar, debe utilizar el constructor SimpleDateFormat (String, Locale) . Va a tomar en un parámetro adicional – la configuración regional que desea utilizar. Si desea asegurarse de que la salida es legible por máquina de una manera coherente (siempre se ve igual, independientemente de la configuración real del usuario), puede elegir Locale.US . Si no se preocupa por la redisibilidad de la máquina, puede establecer explícitamente que use Locale.getDefault () .

Usando los de su código de ejemplo se vería algo como esto:

 // for US SimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy", Locale.US); // or for default SimpleDateFormat sdfDate = new SimpleDateFormat("d MMM yyyy", Locale.getDefault()); 

Puede ignorarlo, pero la advertencia está ahí para indicarle que las fechas pueden aparecer de forma inesperada para los usuarios que utilizan un idioma diferente. Si desea forzar el formato en su propia configuración regional, utilice Locale.US (o cualquier configuración regional que coincida con los requisitos de formato). De lo contrario, utilice uno de los métodos getInstance () para el formato localizado.

  • SimpleDateFormat devuelve una fecha de 24 horas: ¿cómo obtener una fecha de 12 horas?
  • SimpleDateFormat ParseException: Unparseable date Error
  • Android Formato de fecha con zona horaria
  • Pregunta simple sobre java SimpleDateFormat
  • Android SimpleDateFormat devolver el tiempo incorrecto entre la medianoche y 1 am
  • SimpleDateFormat: excepción de fecha incomparable
  • ¿Cómo puedo obtener la fecha actual en Android?
  • Obtenga día, mes y año por separado usando SimpleDateFormat
  • Get Value Of Day Month forma objeto de la fecha en Android?
  • Patrón de caracteres 'L' en SimpleDateFormat
  • Android parse String hasta la fecha - carácter de patrón desconocido 'X'
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.