Предупреждение SimpleDateFormat Чтобы получить локальное форматирование, используйте getDateInstance (), getDateTimeInstance () или getTimeInstance (),

Нужно ли беспокоиться об этом предупреждении? Что делать, если я игнорирую предупреждение?
Что означает это предупреждение:
Чтобы получить локальное форматирование, используйте getDateInstance() , getDateTimeInstance() или getTimeInstance() или используйте new SimpleDateFormat(String template, Locale locale) например Locale.US для дат ASCII .
Во второй строке приведенного ниже кода. Приложение отлично работает с кодом. Я хотел показать дату, например, 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; } 

Я думаю, что это правильный способ форматирования даты, как показано здесь .

Solutions Collecting From Web of "Предупреждение SimpleDateFormat Чтобы получить локальное форматирование, используйте getDateInstance (), getDateTimeInstance () или getTimeInstance (),"

В настоящее время вы используете конструктор SimpleDateFormat (String) . Это подразумевает локаль по умолчанию и, как говорит вам документация Locale, будьте осторожны с языковым стандартом по умолчанию, так как неожиданный вывод может быть получен в различных системах.

Вместо этого вы должны использовать конструктор SimpleDateFormat (String, Locale) . Он будет принимать дополнительный параметр – язык, который вы хотите использовать. Если вы хотите убедиться, что вывод является машиносчитываемым согласованным образом (всегда выглядит одинаково, независимо от фактического местоположения пользователя), вы можете выбрать Locale.US . Если вы не заботитесь о возможности повторного использования машины, вы можете явно установить ее для использования Locale.getDefault () .

Используя те, которые на вашем примере кода выглядят примерно так:

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

Вы можете проигнорировать это, но предупреждение есть, чтобы сообщить, что даты могут неожиданно отображаться для пользователей, использующих другой язык. Если вы хотите форматировать формат в своей собственной локали, используйте Locale.US (или какой бы язык не соответствовал вашим требованиям к формату). В противном случае используйте один из методов getInstance () для локализованного форматирования.